From 211b47875043804683305cc113b3782089ec57d4 Mon Sep 17 00:00:00 2001 From: Tyler Mairose Date: Fri, 17 Apr 2026 11:45:41 -0400 Subject: [PATCH] Add NERM to the python SDK --- .github/actions/build-sdk/action.yaml | 24 + .openapi-generator/FILES | 4413 +-------- sailpoint/beta/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/beta/docs/Models/SourceUsage.md | 2 +- sailpoint/beta/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/beta/test/test_source_usage.py | 2 +- sailpoint/configuration.py | 8 + sailpoint/nerm/Index.md | 19 + sailpoint/nerm/__init__.py | 0 sailpoint/nerm/api/__init__.py | 39 + sailpoint/nerm/api/advanced_search_api.py | 1493 +++ sailpoint/nerm/api/attribute_options_api.py | 2886 ++++++ sailpoint/nerm/api/attributes_api.py | 2341 +++++ sailpoint/nerm/api/audits_api.py | 318 + sailpoint/nerm/api/consolidation_api.py | 602 ++ sailpoint/nerm/api/delegations_api.py | 1506 +++ sailpoint/nerm/api/form_attributes_api.py | 2259 +++++ sailpoint/nerm/api/forms_api.py | 2261 +++++ .../nerm/api/identity_proofing_results_api.py | 405 + sailpoint/nerm/api/isc_accounts_api.py | 960 ++ sailpoint/nerm/api/job_status_api.py | 308 + sailpoint/nerm/api/languages_api.py | 334 + .../nerm/api/page_content_translations_api.py | 2245 +++++ sailpoint/nerm/api/page_contents_api.py | 2247 +++++ sailpoint/nerm/api/page_elements_api.py | 2244 +++++ sailpoint/nerm/api/pages_api.py | 600 ++ sailpoint/nerm/api/permissions_api.py | 318 + sailpoint/nerm/api/profile_type_roles_api.py | 318 + sailpoint/nerm/api/profile_types_api.py | 2342 +++++ sailpoint/nerm/api/profiles_api.py | 3592 ++++++++ sailpoint/nerm/api/risk_levels_api.py | 646 ++ sailpoint/nerm/api/risk_scores_api.py | 714 ++ sailpoint/nerm/api/role_profiles_api.py | 2070 +++++ sailpoint/nerm/api/roles_api.py | 1788 ++++ sailpoint/nerm/api/synced_attributes_api.py | 948 ++ .../nerm/api/system_role_permissions_api.py | 318 + sailpoint/nerm/api/system_roles_api.py | 360 + sailpoint/nerm/api/user_managers_api.py | 1805 ++++ sailpoint/nerm/api/user_profiles_api.py | 2385 +++++ sailpoint/nerm/api/user_roles_api.py | 2073 +++++ sailpoint/nerm/api/users_api.py | 2724 ++++++ .../nerm/api/workflow_action_performer_api.py | 318 + sailpoint/nerm/api/workflow_actions_api.py | 8206 +++++++++++++++++ sailpoint/nerm/api/workflow_sessions_api.py | 1919 ++++ sailpoint/nerm/api/workflows_api.py | 2008 ++++ sailpoint/nerm/api_client.py | 869 ++ sailpoint/nerm/api_response.py | 21 + sailpoint/nerm/configuration.py | 588 ++ .../python_code_examples_overlay.yaml | 131 + .../nerm/docs/Methods/AdvancedSearchApi.md | 304 + .../nerm/docs/Methods/AttributeOptionsApi.md | 597 ++ sailpoint/nerm/docs/Methods/AttributesApi.md | 486 + sailpoint/nerm/docs/Methods/AuditsApi.md | 85 + .../nerm/docs/Methods/ConsolidationApi.md | 132 + sailpoint/nerm/docs/Methods/DelegationsApi.md | 311 + .../nerm/docs/Methods/FormAttributesApi.md | 479 + sailpoint/nerm/docs/Methods/FormsApi.md | 479 + .../Methods/IdentityProofingResultsApi.md | 87 + sailpoint/nerm/docs/Methods/Index.md | 30 + sailpoint/nerm/docs/Methods/IscAccountsApi.md | 202 + sailpoint/nerm/docs/Methods/JobStatusApi.md | 77 + sailpoint/nerm/docs/Methods/LanguagesApi.md | 79 + .../Methods/PageContentTranslationsApi.md | 474 + .../nerm/docs/Methods/PageContentsApi.md | 475 + .../nerm/docs/Methods/PageElementsApi.md | 474 + sailpoint/nerm/docs/Methods/PagesApi.md | 135 + sailpoint/nerm/docs/Methods/PermissionsApi.md | 78 + .../nerm/docs/Methods/ProfileTypeRolesApi.md | 78 + .../nerm/docs/Methods/ProfileTypesApi.md | 486 + sailpoint/nerm/docs/Methods/ProfilesApi.md | 724 ++ sailpoint/nerm/docs/Methods/RiskLevelsApi.md | 141 + sailpoint/nerm/docs/Methods/RiskScoresApi.md | 149 + .../nerm/docs/Methods/RoleProfilesApi.md | 427 + sailpoint/nerm/docs/Methods/RolesApi.md | 371 + .../nerm/docs/Methods/SyncedAttributesApi.md | 200 + .../docs/Methods/SystemRolePermissionsApi.md | 78 + sailpoint/nerm/docs/Methods/SystemRolesApi.md | 83 + .../nerm/docs/Methods/UserManagersApi.md | 373 + .../nerm/docs/Methods/UserProfilesApi.md | 488 + sailpoint/nerm/docs/Methods/UserRolesApi.md | 428 + sailpoint/nerm/docs/Methods/UsersApi.md | 553 ++ .../Methods/WorkflowActionPerformerApi.md | 78 + .../nerm/docs/Methods/WorkflowActionsApi.md | 1673 ++++ .../nerm/docs/Methods/WorkflowSessionsApi.md | 388 + sailpoint/nerm/docs/Methods/WorkflowsApi.md | 420 + sailpoint/nerm/docs/Models/AdvancedSearch.md | 41 + sailpoint/nerm/docs/Models/AdvancedSearch1.md | 37 + ...cedSearch1ConditionRulesAttributesInner.md | 49 + ...ncedSearchConditionRulesAttributesInner.md | 53 + sailpoint/nerm/docs/Models/ApprovalAction.md | 43 + .../docs/Models/AskSecurityQuestionAction.md | 43 + sailpoint/nerm/docs/Models/Attribute.md | 99 + sailpoint/nerm/docs/Models/Attribute1.md | 96 + .../Models/Attribute1ValidationsAttributes.md | 37 + sailpoint/nerm/docs/Models/AttributeOption.md | 39 + .../nerm/docs/Models/AttributeOption1.md | 35 + .../nerm/docs/Models/AttributeOptions.md | 39 + .../nerm/docs/Models/AttributeProperties.md | 79 + sailpoint/nerm/docs/Models/AuditEvent.md | 49 + .../nerm/docs/Models/AuditEventCreatedAt.md | 38 + sailpoint/nerm/docs/Models/AuditEventData.md | 41 + .../nerm/docs/Models/AutoAssignAction.md | 39 + .../nerm/docs/Models/AutomatedWorkflow.md | 43 + ...edWorkflowConditionRulesAttributesInner.md | 49 + .../nerm/docs/Models/BatchUpdateAction.md | 37 + sailpoint/nerm/docs/Models/BatchWorkflow.md | 45 + .../nerm/docs/Models/BatchWorkflowOptions.md | 35 + .../nerm/docs/Models/CloseSessionAction.md | 37 + .../nerm/docs/Models/ContributorsAction.md | 43 + .../Models/CreateApprovalAction200Response.md | 43 + .../Models/CreateApprovalActionRequest.md | 39 + .../CreateAskSecurityQuestionActionRequest.md | 39 + .../docs/Models/CreateAttribute201Response.md | 79 + .../docs/Models/CreateAttributeRequest.md | 79 + .../Models/CreateAutoAssignActionRequest.md | 37 + .../Models/CreateAutomatedWorkflowRequest.md | 39 + .../Models/CreateBatchUpdateActionRequest.md | 36 + .../docs/Models/CreateBatchWorkflowRequest.md | 41 + .../Models/CreateCloseSessionActionRequest.md | 36 + .../Models/CreateContributorsActionRequest.md | 39 + .../CreateCreateProfileActionRequest.md | 37 + .../Models/CreateCreateWorkflow200Response.md | 42 + .../Models/CreateCreateWorkflowRequest.md | 38 + .../CreateDuplicatePreventionActionRequest.md | 39 + .../CreateEmailVerificationActionRequest.md | 39 + .../docs/Models/CreateFormAttributeRequest.md | 37 + .../nerm/docs/Models/CreateFormRequest.md | 39 + .../Models/CreateFulfillmentActionRequest.md | 38 + .../CreateIdentityProofingActionRequest.md | 36 + .../Models/CreateInvitationActionRequest.md | 50 + .../docs/Models/CreateLdapActionRequest.md | 50 + .../docs/Models/CreateLoginWorkflowRequest.md | 40 + .../Models/CreateNotificationActionRequest.md | 43 + .../docs/Models/CreatePageContentRequest.md | 36 + .../CreatePageContentTranslationRequest.md | 38 + .../docs/Models/CreatePageElementRequest.md | 41 + .../CreatePasswordResetActionRequest.md | 36 + .../Models/CreatePermission200Response.md | 38 + .../docs/Models/CreatePermissionRequest.md | 37 + .../nerm/docs/Models/CreateProfileAction.md | 39 + .../Models/CreateProfileCheckActionRequest.md | 39 + .../Models/CreateProfilePage200Response.md | 38 + .../docs/Models/CreateProfilePageRequest.md | 37 + .../CreateProfileSelectActionRequest.md | 36 + .../CreateProfileTypeRole200Response.md | 36 + .../Models/CreateProfileTypeRoleRequest.md | 35 + .../nerm/docs/Models/CreateProfilesRequest.md | 41 + .../docs/Models/CreateRequestActionRequest.md | 38 + .../docs/Models/CreateRestApiActionRequest.md | 36 + .../docs/Models/CreateReviewActionRequest.md | 38 + .../Models/CreateRunWorkflowActionRequest.md | 44 + .../CreateSetAttributesActionRequest.md | 36 + .../CreateSetSecurityQuestionActionRequest.md | 37 + .../docs/Models/CreateSoapApiActionRequest.md | 36 + .../Models/CreateStatusChangeActionRequest.md | 37 + .../CreateSyncedAttribute201Response.md | 36 + .../CreateSystemRolePermission200Response.md | 38 + .../CreateSystemRolePermissionRequest.md | 37 + .../Models/CreateUnassignActionRequest.md | 36 + .../CreateUpdateProfileActionRequest.md | 36 + .../Models/CreateUpdateWorkflowRequest.md | 39 + .../Models/CreateUserProfiles200Response.md | 49 + .../docs/Models/CreateUserProfilesRequest.md | 39 + .../CreateUsernamePasswordActionRequest.md | 36 + sailpoint/nerm/docs/Models/CreateWorkflow.md | 41 + ...reateWorkflowActionPerformer200Response.md | 42 + .../CreateWorkflowActionPerformerRequest.md | 41 + .../docs/Models/CreateWorkflowPageRequest.md | 38 + sailpoint/nerm/docs/Models/DataRecords.md | 33 + sailpoint/nerm/docs/Models/Delegation.md | 45 + sailpoint/nerm/docs/Models/Delegation1.md | 37 + .../docs/Models/DelegationsGet200Response.md | 49 + .../docs/Models/DelegationsPost201Response.md | 40 + .../docs/Models/DelegationsPost404Response.md | 33 + .../docs/Models/DelegationsPostRequest.md | 36 + .../DeleteAttributeOptionById200Response.md | 33 + .../Models/DeleteMasterRecord400Response.md | 33 + .../DeleteProfileTypeById200Response.md | 33 + .../docs/Models/DeleteProfiles200Response.md | 52 + .../docs/Models/DuplicatePreventionAction.md | 43 + .../docs/Models/EmailVerificationAction.md | 43 + sailpoint/nerm/docs/Models/Form.md | 41 + sailpoint/nerm/docs/Models/Form1.md | 39 + sailpoint/nerm/docs/Models/FormAttribute.md | 45 + sailpoint/nerm/docs/Models/FormAttributes.md | 39 + sailpoint/nerm/docs/Models/Forms.md | 39 + .../nerm/docs/Models/FulfillmentAction.md | 41 + .../Models/GetAdvancedSearch200Response.md | 41 + .../Models/GetAttributeOptions200Response.md | 46 + .../docs/Models/GetAttributes200Response.md | 88 + .../docs/Models/GetAttributes400Response.md | 35 + .../docs/Models/GetAttributes500Response.md | 33 + .../Models/GetFormAttributes200Response.md | 40 + .../nerm/docs/Models/GetForms200Response.md | 40 + .../GetIdentityProofingResults200Response.md | 51 + .../docs/Models/GetJobStatus200Response.md | 46 + .../GetJobStatus200ResponseJobDataInner.md | 39 + .../GetPageContentTranslation200Response.md | 39 + .../docs/Models/GetPageContents200Response.md | 39 + .../docs/Models/GetPageElements200Response.md | 41 + .../GetProfileTypeAttributes200Response.md | 41 + .../GetProfileTypeAttributesSortParameter.md | 35 + .../docs/Models/GetProfileTypes200Response.md | 65 + .../docs/Models/GetRiskLevel200Response.md | 38 + .../docs/Models/GetRiskLevels200Response.md | 47 + .../docs/Models/GetRiskScore200Response.md | 43 + .../docs/Models/GetRiskScores200Response.md | 52 + .../docs/Models/GetRoleProfiles200Response.md | 46 + .../nerm/docs/Models/GetRoles200Response.md | 48 + ...hemaMappedProfilesCollection200Response.md | 52 + ...GetSingleSchemaMappedProfile200Response.md | 42 + .../docs/Models/GetSystemRoles200Response.md | 45 + .../docs/Models/GetUserManagers200Response.md | 46 + .../docs/Models/GetUserProfiles200Response.md | 48 + .../docs/Models/GetUserRoles200Response.md | 46 + .../nerm/docs/Models/GetUsers200Response.md | 56 + .../Models/GetWorkflowActions200Response.md | 43 + .../Models/GetWorkflowSessions200Response.md | 51 + .../docs/Models/IdentityProofingAction.md | 37 + .../docs/Models/IdentityProofingResult.md | 49 + sailpoint/nerm/docs/Models/Index.md | 19 + sailpoint/nerm/docs/Models/InvalidJson.md | 33 + .../nerm/docs/Models/InvitationAction.md | 53 + ...InvitationActionConfigurationAttributes.md | 47 + ...tionActionWorkflowActionEmailAttributes.md | 39 + sailpoint/nerm/docs/Models/Job.md | 39 + sailpoint/nerm/docs/Models/JobJobStatus.md | 35 + sailpoint/nerm/docs/Models/Language.md | 37 + sailpoint/nerm/docs/Models/LdapAction.md | 55 + ...LdapActionLdapActionUserRolesAttributes.md | 35 + ...WorkflowActionDirectoryGroupsAttributes.md | 39 + ...onWorkflowActionValueBuildersAttributes.md | 39 + sailpoint/nerm/docs/Models/LoginWorkflow.md | 44 + .../nerm/docs/Models/LoginWorkflowOptions.md | 33 + sailpoint/nerm/docs/Models/Metadata.md | 41 + .../nerm/docs/Models/MetadataWithAfterId.md | 43 + .../nerm/docs/Models/NotificationAction.md | 47 + ...tionActionWorkflowActionEmailAttributes.md | 39 + sailpoint/nerm/docs/Models/PageContent.md | 43 + sailpoint/nerm/docs/Models/PageContent1.md | 37 + .../docs/Models/PageContentTranslation.md | 43 + .../docs/Models/PageContentTranslation1.md | 41 + sailpoint/nerm/docs/Models/PageElement.md | 47 + sailpoint/nerm/docs/Models/PageElement1.md | 47 + sailpoint/nerm/docs/Models/Pages.md | 41 + .../nerm/docs/Models/PasswordResetAction.md | 37 + .../nerm/docs/Models/PatchLanguageRequest.md | 36 + sailpoint/nerm/docs/Models/Permission.md | 41 + sailpoint/nerm/docs/Models/Permission1.md | 39 + sailpoint/nerm/docs/Models/Profile.md | 49 + sailpoint/nerm/docs/Models/Profile1.md | 43 + .../docs/Models/ProfileAttributeRuleDate.md | 53 + .../docs/Models/ProfileAttributeRuleDate1.md | 49 + .../docs/Models/ProfileAttributeRuleId.md | 45 + .../docs/Models/ProfileAttributeRuleId1.md | 41 + .../docs/Models/ProfileAttributeRuleString.md | 45 + .../Models/ProfileAttributeRuleString1.md | 41 + .../nerm/docs/Models/ProfileCheckAction.md | 43 + sailpoint/nerm/docs/Models/ProfilePage.md | 39 + .../nerm/docs/Models/ProfileSelectAction.md | 37 + .../nerm/docs/Models/ProfileStatusRule.md | 41 + .../nerm/docs/Models/ProfileStatusRule1.md | 37 + sailpoint/nerm/docs/Models/ProfileType.md | 64 + sailpoint/nerm/docs/Models/ProfileType1.md | 54 + ...ProfileTypeDupAttributesAttributesInner.md | 33 + ...eType1ProfileTypeNamingsAttributesInner.md | 35 + .../nerm/docs/Models/ProfileTypeAttribute.md | 39 + .../nerm/docs/Models/ProfileTypeAttributes.md | 41 + ...rofileTypeProfileTypeDupAttributesInner.md | 39 + .../ProfileTypeProfileTypeNamingsInner.md | 41 + .../nerm/docs/Models/ProfileTypeRoles.md | 37 + .../nerm/docs/Models/ProfileTypeRoles1.md | 35 + sailpoint/nerm/docs/Models/ProfileTypeRule.md | 41 + .../nerm/docs/Models/ProfileTypeRule1.md | 37 + sailpoint/nerm/docs/Models/Profiles.md | 44 + sailpoint/nerm/docs/Models/RequestAction.md | 41 + sailpoint/nerm/docs/Models/RestApiAction.md | 37 + sailpoint/nerm/docs/Models/ReviewAction.md | 41 + sailpoint/nerm/docs/Models/RiskLevel.md | 41 + sailpoint/nerm/docs/Models/RiskRule.md | 43 + sailpoint/nerm/docs/Models/RiskRule1.md | 39 + sailpoint/nerm/docs/Models/RiskScore.md | 51 + sailpoint/nerm/docs/Models/Role.md | 41 + sailpoint/nerm/docs/Models/Role1.md | 41 + sailpoint/nerm/docs/Models/RoleProfile.md | 39 + sailpoint/nerm/docs/Models/RoleProfile1.md | 35 + sailpoint/nerm/docs/Models/RoleProfiles.md | 39 + sailpoint/nerm/docs/Models/Roles.md | 41 + .../nerm/docs/Models/RunWorkflowAction.md | 46 + ...unWorkflowActionConfigurationAttributes.md | 45 + .../nerm/docs/Models/Search200Response.md | 48 + .../Models/SearchAdvancedSearch200Response.md | 44 + sailpoint/nerm/docs/Models/SearchRequest.md | 51 + .../docs/Models/SearchRequestAuditEvents.md | 54 + .../nerm/docs/Models/SetAttributesAction.md | 37 + .../docs/Models/SetSecurityQuestionAction.md | 39 + sailpoint/nerm/docs/Models/SoapApiAction.md | 37 + .../nerm/docs/Models/StatusChangeAction.md | 39 + .../Models/SubmitAdvancedSearch200Response.md | 39 + .../Models/SubmitAdvancedSearchRequest.md | 37 + .../SubmitAttributeOption200Response.md | 37 + .../Models/SubmitAttributeOptionRequest.md | 35 + .../SubmitAttributeOptions200Response.md | 47 + .../Models/SubmitAttributeOptionsRequest.md | 37 + .../nerm/docs/Models/SubmitProfileRequest.md | 39 + .../Models/SubmitProfileType200Response.md | 56 + .../docs/Models/SubmitProfileTypeRequest.md | 48 + .../docs/Models/SubmitProfileUploadRequest.md | 33 + .../nerm/docs/Models/SubmitRole200Response.md | 39 + .../Models/SubmitRoleProfile200Response.md | 37 + .../docs/Models/SubmitRoleProfileRequest.md | 35 + .../Models/SubmitRoleProfiles200Response.md | 47 + .../docs/Models/SubmitRoleProfilesRequest.md | 37 + .../nerm/docs/Models/SubmitRoleRequest.md | 39 + .../docs/Models/SubmitRoles200Response.md | 49 + .../nerm/docs/Models/SubmitRolesRequest.md | 41 + .../nerm/docs/Models/SubmitUser200Response.md | 47 + .../Models/SubmitUserManager200Response.md | 37 + .../docs/Models/SubmitUserManagerRequest.md | 35 + .../Models/SubmitUserManagers200Response.md | 47 + .../docs/Models/SubmitUserManagersRequest.md | 37 + .../Models/SubmitUserProfile200Response.md | 39 + .../docs/Models/SubmitUserProfileRequest.md | 37 + .../nerm/docs/Models/SubmitUserRequest.md | 44 + .../docs/Models/SubmitUserRole200Response.md | 37 + .../nerm/docs/Models/SubmitUserRoleRequest.md | 35 + .../docs/Models/SubmitUserRoles200Response.md | 47 + .../docs/Models/SubmitUserRolesRequest.md | 37 + .../docs/Models/SubmitUsers200Response.md | 57 + .../nerm/docs/Models/SubmitUsersRequest.md | 46 + .../SubmitWorkflowSession200Response.md | 42 + .../Models/SubmitWorkflowSessionRequest.md | 39 + sailpoint/nerm/docs/Models/SyncedAttribute.md | 37 + .../nerm/docs/Models/SyncedAttribute1.md | 33 + sailpoint/nerm/docs/Models/SystemRole.md | 37 + .../nerm/docs/Models/SystemRolePermission.md | 41 + .../nerm/docs/Models/SystemRolePermission1.md | 39 + sailpoint/nerm/docs/Models/UnassignAction.md | 37 + .../nerm/docs/Models/UpdateFormByIdRequest.md | 37 + ...UpdatePageContentTranslationByIdRequest.md | 36 + .../nerm/docs/Models/UpdateProfileAction.md | 37 + .../nerm/docs/Models/UpdateProfileRequest.md | 33 + .../Models/UpdateProfileRequestProfile.md | 34 + sailpoint/nerm/docs/Models/UpdateWorkflow.md | 43 + sailpoint/nerm/docs/Models/Url.md | 33 + sailpoint/nerm/docs/Models/User.md | 59 + sailpoint/nerm/docs/Models/User1.md | 53 + sailpoint/nerm/docs/Models/UserManager.md | 39 + sailpoint/nerm/docs/Models/UserManager1.md | 35 + sailpoint/nerm/docs/Models/UserManagers.md | 39 + sailpoint/nerm/docs/Models/UserProfile.md | 43 + sailpoint/nerm/docs/Models/UserProfile1.md | 39 + sailpoint/nerm/docs/Models/UserProfiles.md | 41 + sailpoint/nerm/docs/Models/UserRole.md | 39 + sailpoint/nerm/docs/Models/UserRole1.md | 35 + sailpoint/nerm/docs/Models/UserRoles.md | 39 + .../docs/Models/UsernamePasswordAction.md | 37 + sailpoint/nerm/docs/Models/Users.md | 49 + .../nerm/docs/Models/ValidationErrors.md | 35 + sailpoint/nerm/docs/Models/WorkflowAction.md | 51 + .../docs/Models/WorkflowActionPerformers.md | 49 + .../docs/Models/WorkflowActionPerformers1.md | 47 + sailpoint/nerm/docs/Models/WorkflowPage.md | 41 + sailpoint/nerm/docs/Models/WorkflowSession.md | 49 + .../nerm/docs/Models/WorkflowSession1.md | 43 + sailpoint/nerm/exceptions.py | 216 + sailpoint/nerm/models/__init__.py | 295 + sailpoint/nerm/models/advanced_search.py | 106 + sailpoint/nerm/models/advanced_search1.py | 98 + ...earch1_condition_rules_attributes_inner.py | 194 + ...search_condition_rules_attributes_inner.py | 194 + sailpoint/nerm/models/approval_action.py | 98 + .../models/ask_security_question_action.py | 105 + sailpoint/nerm/models/attribute.py | 169 + sailpoint/nerm/models/attribute1.py | 166 + .../attribute1_validations_attributes.py | 102 + sailpoint/nerm/models/attribute_option.py | 98 + sailpoint/nerm/models/attribute_option1.py | 90 + sailpoint/nerm/models/attribute_options.py | 96 + sailpoint/nerm/models/attribute_properties.py | 159 + sailpoint/nerm/models/audit_event.py | 124 + .../nerm/models/audit_event_created_at.py | 93 + sailpoint/nerm/models/audit_event_data.py | 96 + sailpoint/nerm/models/auto_assign_action.py | 94 + sailpoint/nerm/models/automated_workflow.py | 118 + ...rkflow_condition_rules_attributes_inner.py | 125 + sailpoint/nerm/models/batch_update_action.py | 92 + sailpoint/nerm/models/batch_workflow.py | 114 + .../nerm/models/batch_workflow_options.py | 110 + sailpoint/nerm/models/close_session_action.py | 92 + sailpoint/nerm/models/contributors_action.py | 128 + .../create_approval_action200_response.py | 91 + .../models/create_approval_action_request.py | 91 + ...te_ask_security_question_action_request.py | 91 + .../models/create_attribute201_response.py | 92 + .../nerm/models/create_attribute_request.py | 91 + .../create_auto_assign_action_request.py | 91 + .../create_automated_workflow_request.py | 91 + .../create_batch_update_action_request.py | 91 + .../models/create_batch_workflow_request.py | 91 + .../create_close_session_action_request.py | 91 + .../create_contributors_action_request.py | 91 + .../create_create_profile_action_request.py | 91 + .../create_create_workflow200_response.py | 91 + .../models/create_create_workflow_request.py | 91 + ...ate_duplicate_prevention_action_request.py | 91 + ...reate_email_verification_action_request.py | 91 + .../models/create_form_attribute_request.py | 91 + sailpoint/nerm/models/create_form_request.py | 96 + .../create_fulfillment_action_request.py | 91 + ...create_identity_proofing_action_request.py | 91 + .../create_invitation_action_request.py | 91 + .../nerm/models/create_ldap_action_request.py | 91 + .../models/create_login_workflow_request.py | 91 + .../create_notification_action_request.py | 91 + .../models/create_page_content_request.py | 91 + ...create_page_content_translation_request.py | 91 + .../models/create_page_element_request.py | 91 + .../create_password_reset_action_request.py | 91 + .../models/create_permission200_response.py | 91 + .../nerm/models/create_permission_request.py | 91 + .../nerm/models/create_profile_action.py | 94 + .../create_profile_check_action_request.py | 91 + .../models/create_profile_page200_response.py | 92 + .../models/create_profile_page_request.py | 92 + .../create_profile_select_action_request.py | 91 + .../create_profile_type_role200_response.py | 91 + .../create_profile_type_role_request.py | 91 + .../nerm/models/create_profiles_request.py | 96 + .../models/create_request_action_request.py | 91 + .../models/create_rest_api_action_request.py | 91 + .../models/create_review_action_request.py | 91 + .../create_run_workflow_action_request.py | 91 + .../create_set_attributes_action_request.py | 91 + ...te_set_security_question_action_request.py | 91 + .../models/create_soap_api_action_request.py | 91 + .../create_status_change_action_request.py | 91 + .../create_synced_attribute201_response.py | 91 + ...eate_system_role_permission200_response.py | 91 + .../create_system_role_permission_request.py | 91 + .../models/create_unassign_action_request.py | 91 + .../create_update_profile_action_request.py | 91 + .../models/create_update_workflow_request.py | 91 + .../create_user_profiles200_response.py | 137 + .../models/create_user_profiles_request.py | 96 + ...create_username_password_action_request.py | 91 + sailpoint/nerm/models/create_workflow.py | 108 + ...e_workflow_action_performer200_response.py | 91 + ...reate_workflow_action_performer_request.py | 91 + .../models/create_workflow_page_request.py | 92 + sailpoint/nerm/models/data_records.py | 88 + sailpoint/nerm/models/delegation.py | 105 + sailpoint/nerm/models/delegation1.py | 93 + .../models/delegations_get200_response.py | 102 + .../models/delegations_post201_response.py | 91 + .../models/delegations_post404_response.py | 88 + .../nerm/models/delegations_post_request.py | 91 + ...lete_attribute_option_by_id200_response.py | 88 + .../delete_master_record400_response.py | 88 + .../delete_profile_type_by_id200_response.py | 88 + .../models/delete_profiles200_response.py | 137 + .../models/duplicate_prevention_action.py | 105 + .../nerm/models/email_verification_action.py | 105 + sailpoint/nerm/models/form.py | 98 + sailpoint/nerm/models/form1.py | 94 + sailpoint/nerm/models/form_attribute.py | 115 + sailpoint/nerm/models/form_attributes.py | 104 + sailpoint/nerm/models/forms.py | 94 + sailpoint/nerm/models/fulfillment_action.py | 96 + .../models/get_advanced_search200_response.py | 96 + .../get_attribute_options200_response.py | 102 + .../nerm/models/get_attributes200_response.py | 102 + .../nerm/models/get_attributes400_response.py | 137 + .../nerm/models/get_attributes500_response.py | 88 + .../models/get_form_attributes200_response.py | 91 + .../nerm/models/get_forms200_response.py | 96 + ...t_identity_proofing_results200_response.py | 102 + .../nerm/models/get_job_status200_response.py | 102 + ...t_job_status200_response_job_data_inner.py | 92 + ...et_page_content_translation200_response.py | 91 + .../models/get_page_contents200_response.py | 91 + .../models/get_page_elements200_response.py | 91 + ...get_profile_type_attributes200_response.py | 91 + ..._profile_type_attributes_sort_parameter.py | 100 + .../models/get_profile_types200_response.py | 102 + .../nerm/models/get_risk_level200_response.py | 91 + .../models/get_risk_levels200_response.py | 102 + .../nerm/models/get_risk_score200_response.py | 91 + .../models/get_risk_scores200_response.py | 102 + .../models/get_role_profiles200_response.py | 102 + .../nerm/models/get_roles200_response.py | 102 + ..._mapped_profiles_collection200_response.py | 102 + ...ingle_schema_mapped_profile200_response.py | 91 + .../models/get_system_roles200_response.py | 102 + .../models/get_user_managers200_response.py | 102 + .../models/get_user_profiles200_response.py | 102 + .../nerm/models/get_user_roles200_response.py | 102 + .../nerm/models/get_users200_response.py | 102 + .../get_workflow_actions200_response.py | 91 + .../get_workflow_sessions200_response.py | 102 + .../nerm/models/identity_proofing_action.py | 92 + .../nerm/models/identity_proofing_result.py | 117 + sailpoint/nerm/models/invalid_json.py | 88 + sailpoint/nerm/models/invitation_action.py | 104 + ...itation_action_configuration_attributes.py | 102 + ...action_workflow_action_email_attributes.py | 104 + sailpoint/nerm/models/job.py | 96 + sailpoint/nerm/models/job_job_status.py | 90 + sailpoint/nerm/models/language.py | 92 + sailpoint/nerm/models/ldap_action.py | 119 + ...ction_ldap_action_user_roles_attributes.py | 90 + ...flow_action_directory_groups_attributes.py | 94 + ...rkflow_action_value_builders_attributes.py | 94 + sailpoint/nerm/models/login_workflow.py | 114 + .../nerm/models/login_workflow_options.py | 89 + sailpoint/nerm/models/metadata.py | 96 + .../nerm/models/metadata_with_after_id.py | 98 + sailpoint/nerm/models/notification_action.py | 102 + ...action_workflow_action_email_attributes.py | 104 + sailpoint/nerm/models/page_content.py | 112 + sailpoint/nerm/models/page_content1.py | 99 + .../nerm/models/page_content_translation.py | 105 + .../nerm/models/page_content_translation1.py | 96 + sailpoint/nerm/models/page_element.py | 111 + sailpoint/nerm/models/page_element1.py | 111 + sailpoint/nerm/models/pages.py | 98 + .../nerm/models/password_reset_action.py | 92 + .../nerm/models/patch_language_request.py | 91 + sailpoint/nerm/models/permission.py | 98 + sailpoint/nerm/models/permission1.py | 114 + sailpoint/nerm/models/profile.py | 129 + sailpoint/nerm/models/profile1.py | 115 + .../models/profile_attribute_rule_date.py | 163 + .../models/profile_attribute_rule_date1.py | 155 + .../nerm/models/profile_attribute_rule_id.py | 125 + .../nerm/models/profile_attribute_rule_id1.py | 117 + .../models/profile_attribute_rule_string.py | 125 + .../models/profile_attribute_rule_string1.py | 117 + sailpoint/nerm/models/profile_check_action.py | 108 + sailpoint/nerm/models/profile_page.py | 94 + .../nerm/models/profile_select_action.py | 92 + sailpoint/nerm/models/profile_status_rule.py | 127 + sailpoint/nerm/models/profile_status_rule1.py | 113 + sailpoint/nerm/models/profile_type.py | 136 + sailpoint/nerm/models/profile_type1.py | 128 + ...le_type_dup_attributes_attributes_inner.py | 88 + ...1_profile_type_namings_attributes_inner.py | 91 + .../nerm/models/profile_type_attribute.py | 100 + .../nerm/models/profile_type_attributes.py | 98 + ..._type_profile_type_dup_attributes_inner.py | 94 + ...profile_type_profile_type_namings_inner.py | 97 + sailpoint/nerm/models/profile_type_roles.py | 92 + sailpoint/nerm/models/profile_type_roles1.py | 90 + sailpoint/nerm/models/profile_type_rule.py | 117 + sailpoint/nerm/models/profile_type_rule1.py | 106 + sailpoint/nerm/models/profiles.py | 96 + sailpoint/nerm/models/request_action.py | 96 + sailpoint/nerm/models/rest_api_action.py | 92 + sailpoint/nerm/models/review_action.py | 96 + sailpoint/nerm/models/risk_level.py | 101 + sailpoint/nerm/models/risk_rule.py | 126 + sailpoint/nerm/models/risk_rule1.py | 118 + sailpoint/nerm/models/risk_score.py | 121 + sailpoint/nerm/models/role.py | 98 + sailpoint/nerm/models/role1.py | 104 + sailpoint/nerm/models/role_profile.py | 98 + sailpoint/nerm/models/role_profile1.py | 90 + sailpoint/nerm/models/role_profiles.py | 96 + sailpoint/nerm/models/roles.py | 96 + sailpoint/nerm/models/run_workflow_action.py | 98 + ...orkflow_action_configuration_attributes.py | 110 + sailpoint/nerm/models/search200_response.py | 96 + .../search_advanced_search200_response.py | 96 + sailpoint/nerm/models/search_request.py | 92 + .../models/search_request_audit_events.py | 111 + .../nerm/models/set_attributes_action.py | 92 + .../models/set_security_question_action.py | 94 + sailpoint/nerm/models/soap_api_action.py | 92 + sailpoint/nerm/models/status_change_action.py | 104 + .../submit_advanced_search200_response.py | 91 + .../models/submit_advanced_search_request.py | 91 + .../submit_attribute_option200_response.py | 92 + .../models/submit_attribute_option_request.py | 92 + .../submit_attribute_options200_response.py | 137 + .../submit_attribute_options_request.py | 96 + .../nerm/models/submit_profile_request.py | 91 + .../models/submit_profile_type200_response.py | 91 + .../models/submit_profile_type_request.py | 91 + .../models/submit_profile_upload_request.py | 88 + .../nerm/models/submit_role200_response.py | 91 + .../models/submit_role_profile200_response.py | 91 + .../models/submit_role_profile_request.py | 91 + .../submit_role_profiles200_response.py | 137 + .../models/submit_role_profiles_request.py | 96 + sailpoint/nerm/models/submit_role_request.py | 91 + .../nerm/models/submit_roles200_response.py | 137 + sailpoint/nerm/models/submit_roles_request.py | 96 + .../nerm/models/submit_user200_response.py | 91 + .../models/submit_user_manager200_response.py | 91 + .../models/submit_user_manager_request.py | 91 + .../submit_user_managers200_response.py | 137 + .../models/submit_user_managers_request.py | 96 + .../models/submit_user_profile200_response.py | 91 + .../models/submit_user_profile_request.py | 91 + sailpoint/nerm/models/submit_user_request.py | 91 + .../models/submit_user_role200_response.py | 91 + .../nerm/models/submit_user_role_request.py | 91 + .../models/submit_user_roles200_response.py | 137 + .../nerm/models/submit_user_roles_request.py | 96 + .../nerm/models/submit_users200_response.py | 137 + sailpoint/nerm/models/submit_users_request.py | 96 + .../submit_workflow_session200_response.py | 91 + .../models/submit_workflow_session_request.py | 91 + sailpoint/nerm/models/synced_attribute.py | 98 + sailpoint/nerm/models/synced_attribute1.py | 88 + sailpoint/nerm/models/system_role.py | 116 + .../nerm/models/system_role_permission.py | 98 + .../nerm/models/system_role_permission1.py | 114 + sailpoint/nerm/models/unassign_action.py | 92 + .../nerm/models/update_form_by_id_request.py | 92 + ..._page_content_translation_by_id_request.py | 91 + .../nerm/models/update_profile_action.py | 92 + .../nerm/models/update_profile_request.py | 92 + .../models/update_profile_request_profile.py | 88 + sailpoint/nerm/models/update_workflow.py | 110 + sailpoint/nerm/models/url.py | 90 + sailpoint/nerm/models/user.py | 139 + sailpoint/nerm/models/user1.py | 125 + sailpoint/nerm/models/user_manager.py | 98 + sailpoint/nerm/models/user_manager1.py | 90 + sailpoint/nerm/models/user_managers.py | 96 + sailpoint/nerm/models/user_profile.py | 112 + sailpoint/nerm/models/user_profile1.py | 104 + sailpoint/nerm/models/user_profiles.py | 96 + sailpoint/nerm/models/user_role.py | 98 + sailpoint/nerm/models/user_role1.py | 90 + sailpoint/nerm/models/user_roles.py | 96 + .../nerm/models/username_password_action.py | 92 + sailpoint/nerm/models/users.py | 96 + sailpoint/nerm/models/validation_errors.py | 90 + sailpoint/nerm/models/workflow_action.py | 106 + .../nerm/models/workflow_action_performers.py | 104 + .../models/workflow_action_performers1.py | 102 + sailpoint/nerm/models/workflow_page.py | 98 + sailpoint/nerm/models/workflow_session.py | 128 + sailpoint/nerm/models/workflow_session1.py | 105 + sailpoint/nerm/rest.py | 257 + sailpoint/nerm/test/__init__.py | 0 sailpoint/nerm/test/test_advanced_search.py | 56 + sailpoint/nerm/test/test_advanced_search1.py | 54 + ...earch1_condition_rules_attributes_inner.py | 65 + .../nerm/test/test_advanced_search_api.py | 66 + ...search_condition_rules_attributes_inner.py | 67 + sailpoint/nerm/test/test_approval_action.py | 58 + .../test/test_ask_security_question_action.py | 61 + sailpoint/nerm/test/test_attribute.py | 96 + sailpoint/nerm/test/test_attribute1.py | 96 + .../test_attribute1_validations_attributes.py | 53 + sailpoint/nerm/test/test_attribute_option.py | 54 + sailpoint/nerm/test/test_attribute_option1.py | 52 + sailpoint/nerm/test/test_attribute_options.py | 57 + .../nerm/test/test_attribute_options_api.py | 101 + .../nerm/test/test_attribute_properties.py | 74 + sailpoint/nerm/test/test_attributes_api.py | 87 + sailpoint/nerm/test/test_audit_event.py | 63 + .../nerm/test/test_audit_event_created_at.py | 53 + sailpoint/nerm/test/test_audit_event_data.py | 55 + sailpoint/nerm/test/test_audits_api.py | 38 + .../nerm/test/test_auto_assign_action.py | 56 + .../nerm/test/test_automated_workflow.py | 61 + ...rkflow_condition_rules_attributes_inner.py | 63 + .../nerm/test/test_batch_update_action.py | 55 + sailpoint/nerm/test/test_batch_workflow.py | 62 + .../nerm/test/test_batch_workflow_options.py | 52 + .../nerm/test/test_close_session_action.py | 55 + sailpoint/nerm/test/test_consolidation_api.py | 45 + .../nerm/test/test_contributors_action.py | 58 + ...test_create_approval_action200_response.py | 61 + .../test_create_approval_action_request.py | 57 + ...te_ask_security_question_action_request.py | 57 + .../test/test_create_attribute201_response.py | 97 + .../test/test_create_attribute_request.py | 97 + .../test_create_auto_assign_action_request.py | 55 + .../test_create_automated_workflow_request.py | 57 + ...test_create_batch_update_action_request.py | 54 + .../test_create_batch_workflow_request.py | 59 + ...est_create_close_session_action_request.py | 54 + ...test_create_contributors_action_request.py | 57 + ...st_create_create_profile_action_request.py | 55 + ...test_create_create_workflow200_response.py | 60 + .../test_create_create_workflow_request.py | 56 + ...ate_duplicate_prevention_action_request.py | 57 + ...reate_email_verification_action_request.py | 57 + .../test_create_form_attribute_request.py | 55 + .../nerm/test/test_create_form_request.py | 57 + .../test_create_fulfillment_action_request.py | 56 + ...create_identity_proofing_action_request.py | 54 + .../test_create_invitation_action_request.py | 68 + .../test/test_create_ldap_action_request.py | 68 + .../test_create_login_workflow_request.py | 58 + ...test_create_notification_action_request.py | 61 + .../test/test_create_page_content_request.py | 54 + ...create_page_content_translation_request.py | 56 + .../test/test_create_page_element_request.py | 59 + ...st_create_password_reset_action_request.py | 54 + .../test_create_permission200_response.py | 56 + .../test/test_create_permission_request.py | 55 + .../nerm/test/test_create_profile_action.py | 56 + ...est_create_profile_check_action_request.py | 57 + .../test_create_profile_page200_response.py | 56 + .../test/test_create_profile_page_request.py | 55 + ...st_create_profile_select_action_request.py | 54 + ...st_create_profile_type_role200_response.py | 54 + .../test_create_profile_type_role_request.py | 53 + .../nerm/test/test_create_profiles_request.py | 59 + .../test_create_request_action_request.py | 56 + .../test_create_rest_api_action_request.py | 54 + .../test/test_create_review_action_request.py | 56 + ...test_create_run_workflow_action_request.py | 62 + ...st_create_set_attributes_action_request.py | 54 + ...te_set_security_question_action_request.py | 55 + .../test_create_soap_api_action_request.py | 54 + ...est_create_status_change_action_request.py | 55 + ...est_create_synced_attribute201_response.py | 54 + ...eate_system_role_permission200_response.py | 56 + ...t_create_system_role_permission_request.py | 55 + .../test_create_unassign_action_request.py | 54 + ...st_create_update_profile_action_request.py | 54 + .../test_create_update_workflow_request.py | 57 + .../test_create_user_profiles200_response.py | 64 + .../test/test_create_user_profiles_request.py | 57 + ...create_username_password_action_request.py | 54 + sailpoint/nerm/test/test_create_workflow.py | 59 + ...e_workflow_action_performer200_response.py | 60 + ...reate_workflow_action_performer_request.py | 59 + .../test/test_create_workflow_page_request.py | 56 + sailpoint/nerm/test/test_data_records.py | 51 + sailpoint/nerm/test/test_delegation.py | 57 + sailpoint/nerm/test/test_delegation1.py | 53 + sailpoint/nerm/test/test_delegations_api.py | 66 + .../test/test_delegations_get200_response.py | 66 + .../test/test_delegations_post201_response.py | 58 + .../test/test_delegations_post404_response.py | 51 + .../test/test_delegations_post_request.py | 54 + ...lete_attribute_option_by_id200_response.py | 51 + .../test_delete_master_record400_response.py | 51 + ...t_delete_profile_type_by_id200_response.py | 51 + .../test/test_delete_profiles200_response.py | 67 + .../test/test_duplicate_prevention_action.py | 59 + .../test/test_email_verification_action.py | 61 + sailpoint/nerm/test/test_form.py | 55 + sailpoint/nerm/test/test_form1.py | 54 + sailpoint/nerm/test/test_form_attribute.py | 57 + sailpoint/nerm/test/test_form_attributes.py | 54 + .../nerm/test/test_form_attributes_api.py | 87 + sailpoint/nerm/test/test_forms.py | 54 + sailpoint/nerm/test/test_forms_api.py | 87 + .../nerm/test/test_fulfillment_action.py | 57 + .../test_get_advanced_search200_response.py | 59 + .../test_get_attribute_options200_response.py | 63 + .../test/test_get_attributes200_response.py | 105 + .../test/test_get_attributes400_response.py | 52 + .../test/test_get_attributes500_response.py | 51 + .../test_get_form_attributes200_response.py | 58 + .../nerm/test/test_get_forms200_response.py | 58 + ...t_identity_proofing_results200_response.py | 68 + .../test/test_get_job_status200_response.py | 61 + ...t_job_status200_response_job_data_inner.py | 55 + ...et_page_content_translation200_response.py | 57 + .../test_get_page_contents200_response.py | 57 + .../test_get_page_elements200_response.py | 59 + ...get_profile_type_attributes200_response.py | 59 + ..._profile_type_attributes_sort_parameter.py | 52 + .../test_get_profile_types200_response.py | 82 + .../test/test_get_risk_level200_response.py | 56 + .../test/test_get_risk_levels200_response.py | 64 + .../test/test_get_risk_score200_response.py | 61 + .../test/test_get_risk_scores200_response.py | 69 + .../test_get_role_profiles200_response.py | 63 + .../nerm/test/test_get_roles200_response.py | 65 + ..._mapped_profiles_collection200_response.py | 69 + ...ingle_schema_mapped_profile200_response.py | 60 + .../test/test_get_system_roles200_response.py | 62 + .../test_get_user_managers200_response.py | 63 + .../test_get_user_profiles200_response.py | 65 + .../test/test_get_user_roles200_response.py | 63 + .../nerm/test/test_get_users200_response.py | 73 + .../test_get_workflow_actions200_response.py | 61 + .../test_get_workflow_sessions200_response.py | 68 + .../test/test_identity_proofing_action.py | 55 + .../test/test_identity_proofing_result.py | 59 + .../test_identity_proofing_results_api.py | 38 + sailpoint/nerm/test/test_invalid_json.py | 51 + sailpoint/nerm/test/test_invitation_action.py | 69 + ...itation_action_configuration_attributes.py | 58 + ...action_workflow_action_email_attributes.py | 54 + sailpoint/nerm/test/test_isc_accounts_api.py | 52 + sailpoint/nerm/test/test_job.py | 55 + sailpoint/nerm/test/test_job_job_status.py | 52 + sailpoint/nerm/test/test_job_status_api.py | 38 + sailpoint/nerm/test/test_language.py | 53 + sailpoint/nerm/test/test_languages_api.py | 38 + sailpoint/nerm/test/test_ldap_action.py | 70 + ...ction_ldap_action_user_roles_attributes.py | 52 + ...flow_action_directory_groups_attributes.py | 54 + ...rkflow_action_value_builders_attributes.py | 54 + sailpoint/nerm/test/test_login_workflow.py | 61 + .../nerm/test/test_login_workflow_options.py | 51 + sailpoint/nerm/test/test_metadata.py | 55 + .../nerm/test/test_metadata_with_after_id.py | 56 + .../nerm/test/test_notification_action.py | 62 + ...action_workflow_action_email_attributes.py | 54 + sailpoint/nerm/test/test_page_content.py | 57 + sailpoint/nerm/test/test_page_content1.py | 54 + .../test/test_page_content_translation.py | 56 + .../test/test_page_content_translation1.py | 55 + .../test_page_content_translations_api.py | 87 + sailpoint/nerm/test/test_page_contents_api.py | 87 + sailpoint/nerm/test/test_page_element.py | 59 + sailpoint/nerm/test/test_page_element1.py | 59 + sailpoint/nerm/test/test_page_elements_api.py | 87 + sailpoint/nerm/test/test_pages.py | 55 + sailpoint/nerm/test/test_pages_api.py | 45 + .../nerm/test/test_password_reset_action.py | 55 + .../nerm/test/test_patch_language_request.py | 54 + sailpoint/nerm/test/test_permission.py | 55 + sailpoint/nerm/test/test_permission1.py | 54 + sailpoint/nerm/test/test_permissions_api.py | 38 + sailpoint/nerm/test/test_profile.py | 59 + sailpoint/nerm/test/test_profile1.py | 58 + .../test/test_profile_attribute_rule_date.py | 64 + .../test/test_profile_attribute_rule_date1.py | 62 + .../test/test_profile_attribute_rule_id.py | 62 + .../test/test_profile_attribute_rule_id1.py | 60 + .../test_profile_attribute_rule_string.py | 62 + .../test_profile_attribute_rule_string1.py | 60 + .../nerm/test/test_profile_check_action.py | 58 + sailpoint/nerm/test/test_profile_page.py | 54 + .../nerm/test/test_profile_select_action.py | 55 + .../nerm/test/test_profile_status_rule.py | 56 + .../nerm/test/test_profile_status_rule1.py | 56 + sailpoint/nerm/test/test_profile_type.py | 73 + sailpoint/nerm/test/test_profile_type1.py | 65 + ...le_type_dup_attributes_attributes_inner.py | 51 + ...1_profile_type_namings_attributes_inner.py | 52 + .../nerm/test/test_profile_type_attribute.py | 55 + .../nerm/test/test_profile_type_attributes.py | 58 + ..._type_profile_type_dup_attributes_inner.py | 54 + ...profile_type_profile_type_namings_inner.py | 55 + .../nerm/test/test_profile_type_roles.py | 53 + .../nerm/test/test_profile_type_roles1.py | 52 + .../nerm/test/test_profile_type_roles_api.py | 38 + sailpoint/nerm/test/test_profile_type_rule.py | 56 + .../nerm/test/test_profile_type_rule1.py | 56 + sailpoint/nerm/test/test_profile_types_api.py | 87 + sailpoint/nerm/test/test_profiles.py | 62 + sailpoint/nerm/test/test_profiles_api.py | 115 + sailpoint/nerm/test/test_request_action.py | 57 + sailpoint/nerm/test/test_rest_api_action.py | 55 + sailpoint/nerm/test/test_review_action.py | 57 + sailpoint/nerm/test/test_risk_level.py | 55 + sailpoint/nerm/test/test_risk_levels_api.py | 45 + sailpoint/nerm/test/test_risk_rule.py | 59 + sailpoint/nerm/test/test_risk_rule1.py | 57 + sailpoint/nerm/test/test_risk_score.py | 60 + sailpoint/nerm/test/test_risk_scores_api.py | 45 + sailpoint/nerm/test/test_role.py | 56 + sailpoint/nerm/test/test_role1.py | 56 + sailpoint/nerm/test/test_role_profile.py | 54 + sailpoint/nerm/test/test_role_profile1.py | 52 + sailpoint/nerm/test/test_role_profiles.py | 57 + sailpoint/nerm/test/test_role_profiles_api.py | 80 + sailpoint/nerm/test/test_roles.py | 59 + sailpoint/nerm/test/test_roles_api.py | 73 + .../nerm/test/test_run_workflow_action.py | 63 + ...orkflow_action_configuration_attributes.py | 57 + .../nerm/test/test_search200_response.py | 66 + ...test_search_advanced_search200_response.py | 62 + sailpoint/nerm/test/test_search_request.py | 69 + .../test/test_search_request_audit_events.py | 68 + .../nerm/test/test_set_attributes_action.py | 55 + .../test/test_set_security_question_action.py | 57 + sailpoint/nerm/test/test_soap_api_action.py | 55 + .../nerm/test/test_status_change_action.py | 56 + ...test_submit_advanced_search200_response.py | 57 + .../test_submit_advanced_search_request.py | 55 + ...est_submit_attribute_option200_response.py | 55 + .../test_submit_attribute_option_request.py | 53 + ...st_submit_attribute_options200_response.py | 62 + .../test_submit_attribute_options_request.py | 55 + .../nerm/test/test_submit_profile_request.py | 57 + .../test_submit_profile_type200_response.py | 74 + .../test/test_submit_profile_type_request.py | 66 + .../test_submit_profile_upload_request.py | 51 + .../nerm/test/test_submit_role200_response.py | 57 + .../test_submit_role_profile200_response.py | 55 + .../test/test_submit_role_profile_request.py | 53 + .../test_submit_role_profiles200_response.py | 62 + .../test/test_submit_role_profiles_request.py | 55 + .../nerm/test/test_submit_role_request.py | 57 + .../test/test_submit_roles200_response.py | 64 + .../nerm/test/test_submit_roles_request.py | 59 + .../nerm/test/test_submit_user200_response.py | 65 + .../test_submit_user_manager200_response.py | 55 + .../test/test_submit_user_manager_request.py | 53 + .../test_submit_user_managers200_response.py | 62 + .../test/test_submit_user_managers_request.py | 55 + .../test_submit_user_profile200_response.py | 57 + .../test/test_submit_user_profile_request.py | 55 + .../nerm/test/test_submit_user_request.py | 62 + .../test/test_submit_user_role200_response.py | 55 + .../test/test_submit_user_role_request.py | 53 + .../test_submit_user_roles200_response.py | 62 + .../test/test_submit_user_roles_request.py | 55 + .../test/test_submit_users200_response.py | 72 + .../nerm/test/test_submit_users_request.py | 64 + ...est_submit_workflow_session200_response.py | 60 + .../test_submit_workflow_session_request.py | 57 + sailpoint/nerm/test/test_synced_attribute.py | 53 + sailpoint/nerm/test/test_synced_attribute1.py | 51 + .../nerm/test/test_synced_attributes_api.py | 52 + sailpoint/nerm/test/test_system_role.py | 53 + .../nerm/test/test_system_role_permission.py | 55 + .../nerm/test/test_system_role_permission1.py | 54 + .../test/test_system_role_permissions_api.py | 38 + sailpoint/nerm/test/test_system_roles_api.py | 38 + sailpoint/nerm/test/test_unassign_action.py | 55 + .../test/test_update_form_by_id_request.py | 55 + ..._page_content_translation_by_id_request.py | 54 + .../nerm/test/test_update_profile_action.py | 55 + .../nerm/test/test_update_profile_request.py | 52 + .../test_update_profile_request_profile.py | 51 + sailpoint/nerm/test/test_update_workflow.py | 61 + sailpoint/nerm/test/test_url.py | 51 + sailpoint/nerm/test/test_user.py | 64 + sailpoint/nerm/test/test_user1.py | 65 + sailpoint/nerm/test/test_user_manager.py | 54 + sailpoint/nerm/test/test_user_manager1.py | 52 + sailpoint/nerm/test/test_user_managers.py | 57 + sailpoint/nerm/test/test_user_managers_api.py | 73 + sailpoint/nerm/test/test_user_profile.py | 56 + sailpoint/nerm/test/test_user_profile1.py | 54 + sailpoint/nerm/test/test_user_profiles.py | 59 + sailpoint/nerm/test/test_user_profiles_api.py | 87 + sailpoint/nerm/test/test_user_role.py | 54 + sailpoint/nerm/test/test_user_role1.py | 52 + sailpoint/nerm/test/test_user_roles.py | 57 + sailpoint/nerm/test/test_user_roles_api.py | 80 + .../test/test_username_password_action.py | 55 + sailpoint/nerm/test/test_users.py | 67 + sailpoint/nerm/test/test_users_api.py | 94 + sailpoint/nerm/test/test_validation_errors.py | 52 + sailpoint/nerm/test/test_workflow_action.py | 62 + .../test_workflow_action_performer_api.py | 38 + .../test/test_workflow_action_performers.py | 59 + .../test/test_workflow_action_performers1.py | 58 + .../nerm/test/test_workflow_actions_api.py | 234 + sailpoint/nerm/test/test_workflow_page.py | 55 + sailpoint/nerm/test/test_workflow_session.py | 59 + sailpoint/nerm/test/test_workflow_session1.py | 59 + .../nerm/test/test_workflow_sessions_api.py | 73 + sailpoint/nerm/test/test_workflows_api.py | 80 + sailpoint/nerm/v2025/__init__.py | 43 + sailpoint/nerm/v2025/api/__init__.py | 5 + sailpoint/nerm/v2025/api/delegations_api.py | 1496 +++ sailpoint/nerm/v2025/api_client.py | 869 ++ sailpoint/nerm/v2025/api_response.py | 21 + sailpoint/nerm/v2025/configuration.py | 571 ++ .../nerm/v2025/docs/Methods/DelegationsApi.md | 311 + .../nerm/v2025/docs/Models/DelegateUser.md | 51 + .../nerm/v2025/docs/Models/Delegation.md | 69 + .../nerm/v2025/docs/Models/Delegation1.md | 45 + .../nerm/v2025/docs/Models/Delegation2.md | 37 + .../docs/Models/DelegationsGet200Response.md | 64 + .../docs/Models/DelegationsGet500Response.md | 33 + .../docs/Models/DelegationsPost201Response.md | 40 + .../docs/Models/DelegationsPost404Response.md | 33 + .../docs/Models/DelegationsPostRequest.md | 36 + .../nerm/v2025/docs/Models/DelegatorUser.md | 51 + sailpoint/nerm/v2025/exceptions.py | 216 + sailpoint/nerm/v2025/models/__init__.py | 26 + sailpoint/nerm/v2025/models/delegate_user.py | 111 + sailpoint/nerm/v2025/models/delegation.py | 117 + sailpoint/nerm/v2025/models/delegation1.py | 105 + sailpoint/nerm/v2025/models/delegation2.py | 93 + .../models/delegations_get200_response.py | 96 + .../models/delegations_get500_response.py | 88 + .../models/delegations_post201_response.py | 91 + .../models/delegations_post404_response.py | 88 + .../v2025/models/delegations_post_request.py | 91 + sailpoint/nerm/v2025/models/delegator_user.py | 111 + sailpoint/nerm/v2025/rest.py | 257 + sailpoint/nerm/v2025/test/__init__.py | 0 .../nerm/v2025/test/test_delegate_user.py | 60 + sailpoint/nerm/v2025/test/test_delegation.py | 79 + sailpoint/nerm/v2025/test/test_delegation1.py | 57 + sailpoint/nerm/v2025/test/test_delegation2.py | 53 + .../nerm/v2025/test/test_delegations_api.py | 66 + .../test/test_delegations_get200_response.py | 82 + .../test/test_delegations_get500_response.py | 51 + .../test/test_delegations_post201_response.py | 58 + .../test/test_delegations_post404_response.py | 51 + .../test/test_delegations_post_request.py | 54 + .../nerm/v2025/test/test_delegator_user.py | 60 + sailpoint/nerm/v2025_README.md | 103 + sailpoint/nerm_README.md | 585 ++ sailpoint/v2024/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v2024/docs/Models/SourceUsage.md | 2 +- sailpoint/v2024/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2024/test/test_source_usage.py | 2 +- sailpoint/v2025/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v2025/docs/Models/SourceUsage.md | 2 +- sailpoint/v2025/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2025/test/test_source_usage.py | 2 +- sailpoint/v2026/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v2026/docs/Models/SourceUsage.md | 2 +- sailpoint/v2026/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2026/test/test_source_usage.py | 2 +- sailpoint/v3/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v3/docs/Models/SourceUsage.md | 2 +- sailpoint/v3/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v3/test/test_source_usage.py | 2 +- scripts/build_and_validate_sdk.py | 6 +- sdk-resources/nerm-config.yaml | 18 + sdk-resources/resources/api_client.mustache | 10 + sdk-resources/v2025-nerm-config.yaml | 18 + 1036 files changed, 137937 insertions(+), 4408 deletions(-) create mode 100644 sailpoint/nerm/Index.md create mode 100644 sailpoint/nerm/__init__.py create mode 100644 sailpoint/nerm/api/__init__.py create mode 100644 sailpoint/nerm/api/advanced_search_api.py create mode 100644 sailpoint/nerm/api/attribute_options_api.py create mode 100644 sailpoint/nerm/api/attributes_api.py create mode 100644 sailpoint/nerm/api/audits_api.py create mode 100644 sailpoint/nerm/api/consolidation_api.py create mode 100644 sailpoint/nerm/api/delegations_api.py create mode 100644 sailpoint/nerm/api/form_attributes_api.py create mode 100644 sailpoint/nerm/api/forms_api.py create mode 100644 sailpoint/nerm/api/identity_proofing_results_api.py create mode 100644 sailpoint/nerm/api/isc_accounts_api.py create mode 100644 sailpoint/nerm/api/job_status_api.py create mode 100644 sailpoint/nerm/api/languages_api.py create mode 100644 sailpoint/nerm/api/page_content_translations_api.py create mode 100644 sailpoint/nerm/api/page_contents_api.py create mode 100644 sailpoint/nerm/api/page_elements_api.py create mode 100644 sailpoint/nerm/api/pages_api.py create mode 100644 sailpoint/nerm/api/permissions_api.py create mode 100644 sailpoint/nerm/api/profile_type_roles_api.py create mode 100644 sailpoint/nerm/api/profile_types_api.py create mode 100644 sailpoint/nerm/api/profiles_api.py create mode 100644 sailpoint/nerm/api/risk_levels_api.py create mode 100644 sailpoint/nerm/api/risk_scores_api.py create mode 100644 sailpoint/nerm/api/role_profiles_api.py create mode 100644 sailpoint/nerm/api/roles_api.py create mode 100644 sailpoint/nerm/api/synced_attributes_api.py create mode 100644 sailpoint/nerm/api/system_role_permissions_api.py create mode 100644 sailpoint/nerm/api/system_roles_api.py create mode 100644 sailpoint/nerm/api/user_managers_api.py create mode 100644 sailpoint/nerm/api/user_profiles_api.py create mode 100644 sailpoint/nerm/api/user_roles_api.py create mode 100644 sailpoint/nerm/api/users_api.py create mode 100644 sailpoint/nerm/api/workflow_action_performer_api.py create mode 100644 sailpoint/nerm/api/workflow_actions_api.py create mode 100644 sailpoint/nerm/api/workflow_sessions_api.py create mode 100644 sailpoint/nerm/api/workflows_api.py create mode 100644 sailpoint/nerm/api_client.py create mode 100644 sailpoint/nerm/api_response.py create mode 100644 sailpoint/nerm/configuration.py create mode 100644 sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml create mode 100644 sailpoint/nerm/docs/Methods/AdvancedSearchApi.md create mode 100644 sailpoint/nerm/docs/Methods/AttributeOptionsApi.md create mode 100644 sailpoint/nerm/docs/Methods/AttributesApi.md create mode 100644 sailpoint/nerm/docs/Methods/AuditsApi.md create mode 100644 sailpoint/nerm/docs/Methods/ConsolidationApi.md create mode 100644 sailpoint/nerm/docs/Methods/DelegationsApi.md create mode 100644 sailpoint/nerm/docs/Methods/FormAttributesApi.md create mode 100644 sailpoint/nerm/docs/Methods/FormsApi.md create mode 100644 sailpoint/nerm/docs/Methods/IdentityProofingResultsApi.md create mode 100644 sailpoint/nerm/docs/Methods/Index.md create mode 100644 sailpoint/nerm/docs/Methods/IscAccountsApi.md create mode 100644 sailpoint/nerm/docs/Methods/JobStatusApi.md create mode 100644 sailpoint/nerm/docs/Methods/LanguagesApi.md create mode 100644 sailpoint/nerm/docs/Methods/PageContentTranslationsApi.md create mode 100644 sailpoint/nerm/docs/Methods/PageContentsApi.md create mode 100644 sailpoint/nerm/docs/Methods/PageElementsApi.md create mode 100644 sailpoint/nerm/docs/Methods/PagesApi.md create mode 100644 sailpoint/nerm/docs/Methods/PermissionsApi.md create mode 100644 sailpoint/nerm/docs/Methods/ProfileTypeRolesApi.md create mode 100644 sailpoint/nerm/docs/Methods/ProfileTypesApi.md create mode 100644 sailpoint/nerm/docs/Methods/ProfilesApi.md create mode 100644 sailpoint/nerm/docs/Methods/RiskLevelsApi.md create mode 100644 sailpoint/nerm/docs/Methods/RiskScoresApi.md create mode 100644 sailpoint/nerm/docs/Methods/RoleProfilesApi.md create mode 100644 sailpoint/nerm/docs/Methods/RolesApi.md create mode 100644 sailpoint/nerm/docs/Methods/SyncedAttributesApi.md create mode 100644 sailpoint/nerm/docs/Methods/SystemRolePermissionsApi.md create mode 100644 sailpoint/nerm/docs/Methods/SystemRolesApi.md create mode 100644 sailpoint/nerm/docs/Methods/UserManagersApi.md create mode 100644 sailpoint/nerm/docs/Methods/UserProfilesApi.md create mode 100644 sailpoint/nerm/docs/Methods/UserRolesApi.md create mode 100644 sailpoint/nerm/docs/Methods/UsersApi.md create mode 100644 sailpoint/nerm/docs/Methods/WorkflowActionPerformerApi.md create mode 100644 sailpoint/nerm/docs/Methods/WorkflowActionsApi.md create mode 100644 sailpoint/nerm/docs/Methods/WorkflowSessionsApi.md create mode 100644 sailpoint/nerm/docs/Methods/WorkflowsApi.md create mode 100644 sailpoint/nerm/docs/Models/AdvancedSearch.md create mode 100644 sailpoint/nerm/docs/Models/AdvancedSearch1.md create mode 100644 sailpoint/nerm/docs/Models/AdvancedSearch1ConditionRulesAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/AdvancedSearchConditionRulesAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/ApprovalAction.md create mode 100644 sailpoint/nerm/docs/Models/AskSecurityQuestionAction.md create mode 100644 sailpoint/nerm/docs/Models/Attribute.md create mode 100644 sailpoint/nerm/docs/Models/Attribute1.md create mode 100644 sailpoint/nerm/docs/Models/Attribute1ValidationsAttributes.md create mode 100644 sailpoint/nerm/docs/Models/AttributeOption.md create mode 100644 sailpoint/nerm/docs/Models/AttributeOption1.md create mode 100644 sailpoint/nerm/docs/Models/AttributeOptions.md create mode 100644 sailpoint/nerm/docs/Models/AttributeProperties.md create mode 100644 sailpoint/nerm/docs/Models/AuditEvent.md create mode 100644 sailpoint/nerm/docs/Models/AuditEventCreatedAt.md create mode 100644 sailpoint/nerm/docs/Models/AuditEventData.md create mode 100644 sailpoint/nerm/docs/Models/AutoAssignAction.md create mode 100644 sailpoint/nerm/docs/Models/AutomatedWorkflow.md create mode 100644 sailpoint/nerm/docs/Models/AutomatedWorkflowConditionRulesAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/BatchUpdateAction.md create mode 100644 sailpoint/nerm/docs/Models/BatchWorkflow.md create mode 100644 sailpoint/nerm/docs/Models/BatchWorkflowOptions.md create mode 100644 sailpoint/nerm/docs/Models/CloseSessionAction.md create mode 100644 sailpoint/nerm/docs/Models/ContributorsAction.md create mode 100644 sailpoint/nerm/docs/Models/CreateApprovalAction200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateApprovalActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateAskSecurityQuestionActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateAttribute201Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateAttributeRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateAutoAssignActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateAutomatedWorkflowRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateBatchUpdateActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateBatchWorkflowRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateCloseSessionActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateContributorsActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateCreateProfileActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateCreateWorkflow200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateCreateWorkflowRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateDuplicatePreventionActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateEmailVerificationActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateFormAttributeRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateFormRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateFulfillmentActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateIdentityProofingActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateInvitationActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateLdapActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateLoginWorkflowRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateNotificationActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreatePageContentRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreatePageContentTranslationRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreatePageElementRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreatePasswordResetActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreatePermission200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreatePermissionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfileAction.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfileCheckActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfilePage200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfilePageRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfileSelectActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfileTypeRole200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfileTypeRoleRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateProfilesRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateRequestActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateRestApiActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateReviewActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateRunWorkflowActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateSetAttributesActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateSetSecurityQuestionActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateSoapApiActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateStatusChangeActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateSyncedAttribute201Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateSystemRolePermission200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateSystemRolePermissionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateUnassignActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateUpdateProfileActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateUpdateWorkflowRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateUserProfiles200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateUserProfilesRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateUsernamePasswordActionRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateWorkflow.md create mode 100644 sailpoint/nerm/docs/Models/CreateWorkflowActionPerformer200Response.md create mode 100644 sailpoint/nerm/docs/Models/CreateWorkflowActionPerformerRequest.md create mode 100644 sailpoint/nerm/docs/Models/CreateWorkflowPageRequest.md create mode 100644 sailpoint/nerm/docs/Models/DataRecords.md create mode 100644 sailpoint/nerm/docs/Models/Delegation.md create mode 100644 sailpoint/nerm/docs/Models/Delegation1.md create mode 100644 sailpoint/nerm/docs/Models/DelegationsGet200Response.md create mode 100644 sailpoint/nerm/docs/Models/DelegationsPost201Response.md create mode 100644 sailpoint/nerm/docs/Models/DelegationsPost404Response.md create mode 100644 sailpoint/nerm/docs/Models/DelegationsPostRequest.md create mode 100644 sailpoint/nerm/docs/Models/DeleteAttributeOptionById200Response.md create mode 100644 sailpoint/nerm/docs/Models/DeleteMasterRecord400Response.md create mode 100644 sailpoint/nerm/docs/Models/DeleteProfileTypeById200Response.md create mode 100644 sailpoint/nerm/docs/Models/DeleteProfiles200Response.md create mode 100644 sailpoint/nerm/docs/Models/DuplicatePreventionAction.md create mode 100644 sailpoint/nerm/docs/Models/EmailVerificationAction.md create mode 100644 sailpoint/nerm/docs/Models/Form.md create mode 100644 sailpoint/nerm/docs/Models/Form1.md create mode 100644 sailpoint/nerm/docs/Models/FormAttribute.md create mode 100644 sailpoint/nerm/docs/Models/FormAttributes.md create mode 100644 sailpoint/nerm/docs/Models/Forms.md create mode 100644 sailpoint/nerm/docs/Models/FulfillmentAction.md create mode 100644 sailpoint/nerm/docs/Models/GetAdvancedSearch200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetAttributeOptions200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetAttributes200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetAttributes400Response.md create mode 100644 sailpoint/nerm/docs/Models/GetAttributes500Response.md create mode 100644 sailpoint/nerm/docs/Models/GetFormAttributes200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetForms200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetIdentityProofingResults200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetJobStatus200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetJobStatus200ResponseJobDataInner.md create mode 100644 sailpoint/nerm/docs/Models/GetPageContentTranslation200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetPageContents200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetPageElements200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetProfileTypeAttributes200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetProfileTypeAttributesSortParameter.md create mode 100644 sailpoint/nerm/docs/Models/GetProfileTypes200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRiskLevel200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRiskLevels200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRiskScore200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRiskScores200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRoleProfiles200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetRoles200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetSchemaMappedProfilesCollection200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetSingleSchemaMappedProfile200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetSystemRoles200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetUserManagers200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetUserProfiles200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetUserRoles200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetUsers200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetWorkflowActions200Response.md create mode 100644 sailpoint/nerm/docs/Models/GetWorkflowSessions200Response.md create mode 100644 sailpoint/nerm/docs/Models/IdentityProofingAction.md create mode 100644 sailpoint/nerm/docs/Models/IdentityProofingResult.md create mode 100644 sailpoint/nerm/docs/Models/Index.md create mode 100644 sailpoint/nerm/docs/Models/InvalidJson.md create mode 100644 sailpoint/nerm/docs/Models/InvitationAction.md create mode 100644 sailpoint/nerm/docs/Models/InvitationActionConfigurationAttributes.md create mode 100644 sailpoint/nerm/docs/Models/InvitationActionWorkflowActionEmailAttributes.md create mode 100644 sailpoint/nerm/docs/Models/Job.md create mode 100644 sailpoint/nerm/docs/Models/JobJobStatus.md create mode 100644 sailpoint/nerm/docs/Models/Language.md create mode 100644 sailpoint/nerm/docs/Models/LdapAction.md create mode 100644 sailpoint/nerm/docs/Models/LdapActionLdapActionUserRolesAttributes.md create mode 100644 sailpoint/nerm/docs/Models/LdapActionWorkflowActionDirectoryGroupsAttributes.md create mode 100644 sailpoint/nerm/docs/Models/LdapActionWorkflowActionValueBuildersAttributes.md create mode 100644 sailpoint/nerm/docs/Models/LoginWorkflow.md create mode 100644 sailpoint/nerm/docs/Models/LoginWorkflowOptions.md create mode 100644 sailpoint/nerm/docs/Models/Metadata.md create mode 100644 sailpoint/nerm/docs/Models/MetadataWithAfterId.md create mode 100644 sailpoint/nerm/docs/Models/NotificationAction.md create mode 100644 sailpoint/nerm/docs/Models/NotificationActionWorkflowActionEmailAttributes.md create mode 100644 sailpoint/nerm/docs/Models/PageContent.md create mode 100644 sailpoint/nerm/docs/Models/PageContent1.md create mode 100644 sailpoint/nerm/docs/Models/PageContentTranslation.md create mode 100644 sailpoint/nerm/docs/Models/PageContentTranslation1.md create mode 100644 sailpoint/nerm/docs/Models/PageElement.md create mode 100644 sailpoint/nerm/docs/Models/PageElement1.md create mode 100644 sailpoint/nerm/docs/Models/Pages.md create mode 100644 sailpoint/nerm/docs/Models/PasswordResetAction.md create mode 100644 sailpoint/nerm/docs/Models/PatchLanguageRequest.md create mode 100644 sailpoint/nerm/docs/Models/Permission.md create mode 100644 sailpoint/nerm/docs/Models/Permission1.md create mode 100644 sailpoint/nerm/docs/Models/Profile.md create mode 100644 sailpoint/nerm/docs/Models/Profile1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleDate.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleDate1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleId.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleId1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleString.md create mode 100644 sailpoint/nerm/docs/Models/ProfileAttributeRuleString1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileCheckAction.md create mode 100644 sailpoint/nerm/docs/Models/ProfilePage.md create mode 100644 sailpoint/nerm/docs/Models/ProfileSelectAction.md create mode 100644 sailpoint/nerm/docs/Models/ProfileStatusRule.md create mode 100644 sailpoint/nerm/docs/Models/ProfileStatusRule1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileType.md create mode 100644 sailpoint/nerm/docs/Models/ProfileType1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileType1ProfileTypeDupAttributesAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/ProfileType1ProfileTypeNamingsAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeAttribute.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeAttributes.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeProfileTypeDupAttributesInner.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeProfileTypeNamingsInner.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeRoles.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeRoles1.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeRule.md create mode 100644 sailpoint/nerm/docs/Models/ProfileTypeRule1.md create mode 100644 sailpoint/nerm/docs/Models/Profiles.md create mode 100644 sailpoint/nerm/docs/Models/RequestAction.md create mode 100644 sailpoint/nerm/docs/Models/RestApiAction.md create mode 100644 sailpoint/nerm/docs/Models/ReviewAction.md create mode 100644 sailpoint/nerm/docs/Models/RiskLevel.md create mode 100644 sailpoint/nerm/docs/Models/RiskRule.md create mode 100644 sailpoint/nerm/docs/Models/RiskRule1.md create mode 100644 sailpoint/nerm/docs/Models/RiskScore.md create mode 100644 sailpoint/nerm/docs/Models/Role.md create mode 100644 sailpoint/nerm/docs/Models/Role1.md create mode 100644 sailpoint/nerm/docs/Models/RoleProfile.md create mode 100644 sailpoint/nerm/docs/Models/RoleProfile1.md create mode 100644 sailpoint/nerm/docs/Models/RoleProfiles.md create mode 100644 sailpoint/nerm/docs/Models/Roles.md create mode 100644 sailpoint/nerm/docs/Models/RunWorkflowAction.md create mode 100644 sailpoint/nerm/docs/Models/RunWorkflowActionConfigurationAttributes.md create mode 100644 sailpoint/nerm/docs/Models/Search200Response.md create mode 100644 sailpoint/nerm/docs/Models/SearchAdvancedSearch200Response.md create mode 100644 sailpoint/nerm/docs/Models/SearchRequest.md create mode 100644 sailpoint/nerm/docs/Models/SearchRequestAuditEvents.md create mode 100644 sailpoint/nerm/docs/Models/SetAttributesAction.md create mode 100644 sailpoint/nerm/docs/Models/SetSecurityQuestionAction.md create mode 100644 sailpoint/nerm/docs/Models/SoapApiAction.md create mode 100644 sailpoint/nerm/docs/Models/StatusChangeAction.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAdvancedSearch200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAdvancedSearchRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAttributeOption200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAttributeOptionRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAttributeOptions200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitAttributeOptionsRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitProfileRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitProfileType200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitProfileTypeRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitProfileUploadRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRole200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoleProfile200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoleProfileRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoleProfiles200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoleProfilesRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoleRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRoles200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitRolesRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUser200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserManager200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserManagerRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserManagers200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserManagersRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserProfile200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserProfileRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserRole200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserRoleRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserRoles200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUserRolesRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUsers200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitUsersRequest.md create mode 100644 sailpoint/nerm/docs/Models/SubmitWorkflowSession200Response.md create mode 100644 sailpoint/nerm/docs/Models/SubmitWorkflowSessionRequest.md create mode 100644 sailpoint/nerm/docs/Models/SyncedAttribute.md create mode 100644 sailpoint/nerm/docs/Models/SyncedAttribute1.md create mode 100644 sailpoint/nerm/docs/Models/SystemRole.md create mode 100644 sailpoint/nerm/docs/Models/SystemRolePermission.md create mode 100644 sailpoint/nerm/docs/Models/SystemRolePermission1.md create mode 100644 sailpoint/nerm/docs/Models/UnassignAction.md create mode 100644 sailpoint/nerm/docs/Models/UpdateFormByIdRequest.md create mode 100644 sailpoint/nerm/docs/Models/UpdatePageContentTranslationByIdRequest.md create mode 100644 sailpoint/nerm/docs/Models/UpdateProfileAction.md create mode 100644 sailpoint/nerm/docs/Models/UpdateProfileRequest.md create mode 100644 sailpoint/nerm/docs/Models/UpdateProfileRequestProfile.md create mode 100644 sailpoint/nerm/docs/Models/UpdateWorkflow.md create mode 100644 sailpoint/nerm/docs/Models/Url.md create mode 100644 sailpoint/nerm/docs/Models/User.md create mode 100644 sailpoint/nerm/docs/Models/User1.md create mode 100644 sailpoint/nerm/docs/Models/UserManager.md create mode 100644 sailpoint/nerm/docs/Models/UserManager1.md create mode 100644 sailpoint/nerm/docs/Models/UserManagers.md create mode 100644 sailpoint/nerm/docs/Models/UserProfile.md create mode 100644 sailpoint/nerm/docs/Models/UserProfile1.md create mode 100644 sailpoint/nerm/docs/Models/UserProfiles.md create mode 100644 sailpoint/nerm/docs/Models/UserRole.md create mode 100644 sailpoint/nerm/docs/Models/UserRole1.md create mode 100644 sailpoint/nerm/docs/Models/UserRoles.md create mode 100644 sailpoint/nerm/docs/Models/UsernamePasswordAction.md create mode 100644 sailpoint/nerm/docs/Models/Users.md create mode 100644 sailpoint/nerm/docs/Models/ValidationErrors.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowAction.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowActionPerformers.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowActionPerformers1.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowPage.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowSession.md create mode 100644 sailpoint/nerm/docs/Models/WorkflowSession1.md create mode 100644 sailpoint/nerm/exceptions.py create mode 100644 sailpoint/nerm/models/__init__.py create mode 100644 sailpoint/nerm/models/advanced_search.py create mode 100644 sailpoint/nerm/models/advanced_search1.py create mode 100644 sailpoint/nerm/models/advanced_search1_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/models/advanced_search_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/models/approval_action.py create mode 100644 sailpoint/nerm/models/ask_security_question_action.py create mode 100644 sailpoint/nerm/models/attribute.py create mode 100644 sailpoint/nerm/models/attribute1.py create mode 100644 sailpoint/nerm/models/attribute1_validations_attributes.py create mode 100644 sailpoint/nerm/models/attribute_option.py create mode 100644 sailpoint/nerm/models/attribute_option1.py create mode 100644 sailpoint/nerm/models/attribute_options.py create mode 100644 sailpoint/nerm/models/attribute_properties.py create mode 100644 sailpoint/nerm/models/audit_event.py create mode 100644 sailpoint/nerm/models/audit_event_created_at.py create mode 100644 sailpoint/nerm/models/audit_event_data.py create mode 100644 sailpoint/nerm/models/auto_assign_action.py create mode 100644 sailpoint/nerm/models/automated_workflow.py create mode 100644 sailpoint/nerm/models/automated_workflow_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/models/batch_update_action.py create mode 100644 sailpoint/nerm/models/batch_workflow.py create mode 100644 sailpoint/nerm/models/batch_workflow_options.py create mode 100644 sailpoint/nerm/models/close_session_action.py create mode 100644 sailpoint/nerm/models/contributors_action.py create mode 100644 sailpoint/nerm/models/create_approval_action200_response.py create mode 100644 sailpoint/nerm/models/create_approval_action_request.py create mode 100644 sailpoint/nerm/models/create_ask_security_question_action_request.py create mode 100644 sailpoint/nerm/models/create_attribute201_response.py create mode 100644 sailpoint/nerm/models/create_attribute_request.py create mode 100644 sailpoint/nerm/models/create_auto_assign_action_request.py create mode 100644 sailpoint/nerm/models/create_automated_workflow_request.py create mode 100644 sailpoint/nerm/models/create_batch_update_action_request.py create mode 100644 sailpoint/nerm/models/create_batch_workflow_request.py create mode 100644 sailpoint/nerm/models/create_close_session_action_request.py create mode 100644 sailpoint/nerm/models/create_contributors_action_request.py create mode 100644 sailpoint/nerm/models/create_create_profile_action_request.py create mode 100644 sailpoint/nerm/models/create_create_workflow200_response.py create mode 100644 sailpoint/nerm/models/create_create_workflow_request.py create mode 100644 sailpoint/nerm/models/create_duplicate_prevention_action_request.py create mode 100644 sailpoint/nerm/models/create_email_verification_action_request.py create mode 100644 sailpoint/nerm/models/create_form_attribute_request.py create mode 100644 sailpoint/nerm/models/create_form_request.py create mode 100644 sailpoint/nerm/models/create_fulfillment_action_request.py create mode 100644 sailpoint/nerm/models/create_identity_proofing_action_request.py create mode 100644 sailpoint/nerm/models/create_invitation_action_request.py create mode 100644 sailpoint/nerm/models/create_ldap_action_request.py create mode 100644 sailpoint/nerm/models/create_login_workflow_request.py create mode 100644 sailpoint/nerm/models/create_notification_action_request.py create mode 100644 sailpoint/nerm/models/create_page_content_request.py create mode 100644 sailpoint/nerm/models/create_page_content_translation_request.py create mode 100644 sailpoint/nerm/models/create_page_element_request.py create mode 100644 sailpoint/nerm/models/create_password_reset_action_request.py create mode 100644 sailpoint/nerm/models/create_permission200_response.py create mode 100644 sailpoint/nerm/models/create_permission_request.py create mode 100644 sailpoint/nerm/models/create_profile_action.py create mode 100644 sailpoint/nerm/models/create_profile_check_action_request.py create mode 100644 sailpoint/nerm/models/create_profile_page200_response.py create mode 100644 sailpoint/nerm/models/create_profile_page_request.py create mode 100644 sailpoint/nerm/models/create_profile_select_action_request.py create mode 100644 sailpoint/nerm/models/create_profile_type_role200_response.py create mode 100644 sailpoint/nerm/models/create_profile_type_role_request.py create mode 100644 sailpoint/nerm/models/create_profiles_request.py create mode 100644 sailpoint/nerm/models/create_request_action_request.py create mode 100644 sailpoint/nerm/models/create_rest_api_action_request.py create mode 100644 sailpoint/nerm/models/create_review_action_request.py create mode 100644 sailpoint/nerm/models/create_run_workflow_action_request.py create mode 100644 sailpoint/nerm/models/create_set_attributes_action_request.py create mode 100644 sailpoint/nerm/models/create_set_security_question_action_request.py create mode 100644 sailpoint/nerm/models/create_soap_api_action_request.py create mode 100644 sailpoint/nerm/models/create_status_change_action_request.py create mode 100644 sailpoint/nerm/models/create_synced_attribute201_response.py create mode 100644 sailpoint/nerm/models/create_system_role_permission200_response.py create mode 100644 sailpoint/nerm/models/create_system_role_permission_request.py create mode 100644 sailpoint/nerm/models/create_unassign_action_request.py create mode 100644 sailpoint/nerm/models/create_update_profile_action_request.py create mode 100644 sailpoint/nerm/models/create_update_workflow_request.py create mode 100644 sailpoint/nerm/models/create_user_profiles200_response.py create mode 100644 sailpoint/nerm/models/create_user_profiles_request.py create mode 100644 sailpoint/nerm/models/create_username_password_action_request.py create mode 100644 sailpoint/nerm/models/create_workflow.py create mode 100644 sailpoint/nerm/models/create_workflow_action_performer200_response.py create mode 100644 sailpoint/nerm/models/create_workflow_action_performer_request.py create mode 100644 sailpoint/nerm/models/create_workflow_page_request.py create mode 100644 sailpoint/nerm/models/data_records.py create mode 100644 sailpoint/nerm/models/delegation.py create mode 100644 sailpoint/nerm/models/delegation1.py create mode 100644 sailpoint/nerm/models/delegations_get200_response.py create mode 100644 sailpoint/nerm/models/delegations_post201_response.py create mode 100644 sailpoint/nerm/models/delegations_post404_response.py create mode 100644 sailpoint/nerm/models/delegations_post_request.py create mode 100644 sailpoint/nerm/models/delete_attribute_option_by_id200_response.py create mode 100644 sailpoint/nerm/models/delete_master_record400_response.py create mode 100644 sailpoint/nerm/models/delete_profile_type_by_id200_response.py create mode 100644 sailpoint/nerm/models/delete_profiles200_response.py create mode 100644 sailpoint/nerm/models/duplicate_prevention_action.py create mode 100644 sailpoint/nerm/models/email_verification_action.py create mode 100644 sailpoint/nerm/models/form.py create mode 100644 sailpoint/nerm/models/form1.py create mode 100644 sailpoint/nerm/models/form_attribute.py create mode 100644 sailpoint/nerm/models/form_attributes.py create mode 100644 sailpoint/nerm/models/forms.py create mode 100644 sailpoint/nerm/models/fulfillment_action.py create mode 100644 sailpoint/nerm/models/get_advanced_search200_response.py create mode 100644 sailpoint/nerm/models/get_attribute_options200_response.py create mode 100644 sailpoint/nerm/models/get_attributes200_response.py create mode 100644 sailpoint/nerm/models/get_attributes400_response.py create mode 100644 sailpoint/nerm/models/get_attributes500_response.py create mode 100644 sailpoint/nerm/models/get_form_attributes200_response.py create mode 100644 sailpoint/nerm/models/get_forms200_response.py create mode 100644 sailpoint/nerm/models/get_identity_proofing_results200_response.py create mode 100644 sailpoint/nerm/models/get_job_status200_response.py create mode 100644 sailpoint/nerm/models/get_job_status200_response_job_data_inner.py create mode 100644 sailpoint/nerm/models/get_page_content_translation200_response.py create mode 100644 sailpoint/nerm/models/get_page_contents200_response.py create mode 100644 sailpoint/nerm/models/get_page_elements200_response.py create mode 100644 sailpoint/nerm/models/get_profile_type_attributes200_response.py create mode 100644 sailpoint/nerm/models/get_profile_type_attributes_sort_parameter.py create mode 100644 sailpoint/nerm/models/get_profile_types200_response.py create mode 100644 sailpoint/nerm/models/get_risk_level200_response.py create mode 100644 sailpoint/nerm/models/get_risk_levels200_response.py create mode 100644 sailpoint/nerm/models/get_risk_score200_response.py create mode 100644 sailpoint/nerm/models/get_risk_scores200_response.py create mode 100644 sailpoint/nerm/models/get_role_profiles200_response.py create mode 100644 sailpoint/nerm/models/get_roles200_response.py create mode 100644 sailpoint/nerm/models/get_schema_mapped_profiles_collection200_response.py create mode 100644 sailpoint/nerm/models/get_single_schema_mapped_profile200_response.py create mode 100644 sailpoint/nerm/models/get_system_roles200_response.py create mode 100644 sailpoint/nerm/models/get_user_managers200_response.py create mode 100644 sailpoint/nerm/models/get_user_profiles200_response.py create mode 100644 sailpoint/nerm/models/get_user_roles200_response.py create mode 100644 sailpoint/nerm/models/get_users200_response.py create mode 100644 sailpoint/nerm/models/get_workflow_actions200_response.py create mode 100644 sailpoint/nerm/models/get_workflow_sessions200_response.py create mode 100644 sailpoint/nerm/models/identity_proofing_action.py create mode 100644 sailpoint/nerm/models/identity_proofing_result.py create mode 100644 sailpoint/nerm/models/invalid_json.py create mode 100644 sailpoint/nerm/models/invitation_action.py create mode 100644 sailpoint/nerm/models/invitation_action_configuration_attributes.py create mode 100644 sailpoint/nerm/models/invitation_action_workflow_action_email_attributes.py create mode 100644 sailpoint/nerm/models/job.py create mode 100644 sailpoint/nerm/models/job_job_status.py create mode 100644 sailpoint/nerm/models/language.py create mode 100644 sailpoint/nerm/models/ldap_action.py create mode 100644 sailpoint/nerm/models/ldap_action_ldap_action_user_roles_attributes.py create mode 100644 sailpoint/nerm/models/ldap_action_workflow_action_directory_groups_attributes.py create mode 100644 sailpoint/nerm/models/ldap_action_workflow_action_value_builders_attributes.py create mode 100644 sailpoint/nerm/models/login_workflow.py create mode 100644 sailpoint/nerm/models/login_workflow_options.py create mode 100644 sailpoint/nerm/models/metadata.py create mode 100644 sailpoint/nerm/models/metadata_with_after_id.py create mode 100644 sailpoint/nerm/models/notification_action.py create mode 100644 sailpoint/nerm/models/notification_action_workflow_action_email_attributes.py create mode 100644 sailpoint/nerm/models/page_content.py create mode 100644 sailpoint/nerm/models/page_content1.py create mode 100644 sailpoint/nerm/models/page_content_translation.py create mode 100644 sailpoint/nerm/models/page_content_translation1.py create mode 100644 sailpoint/nerm/models/page_element.py create mode 100644 sailpoint/nerm/models/page_element1.py create mode 100644 sailpoint/nerm/models/pages.py create mode 100644 sailpoint/nerm/models/password_reset_action.py create mode 100644 sailpoint/nerm/models/patch_language_request.py create mode 100644 sailpoint/nerm/models/permission.py create mode 100644 sailpoint/nerm/models/permission1.py create mode 100644 sailpoint/nerm/models/profile.py create mode 100644 sailpoint/nerm/models/profile1.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_date.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_date1.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_id.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_id1.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_string.py create mode 100644 sailpoint/nerm/models/profile_attribute_rule_string1.py create mode 100644 sailpoint/nerm/models/profile_check_action.py create mode 100644 sailpoint/nerm/models/profile_page.py create mode 100644 sailpoint/nerm/models/profile_select_action.py create mode 100644 sailpoint/nerm/models/profile_status_rule.py create mode 100644 sailpoint/nerm/models/profile_status_rule1.py create mode 100644 sailpoint/nerm/models/profile_type.py create mode 100644 sailpoint/nerm/models/profile_type1.py create mode 100644 sailpoint/nerm/models/profile_type1_profile_type_dup_attributes_attributes_inner.py create mode 100644 sailpoint/nerm/models/profile_type1_profile_type_namings_attributes_inner.py create mode 100644 sailpoint/nerm/models/profile_type_attribute.py create mode 100644 sailpoint/nerm/models/profile_type_attributes.py create mode 100644 sailpoint/nerm/models/profile_type_profile_type_dup_attributes_inner.py create mode 100644 sailpoint/nerm/models/profile_type_profile_type_namings_inner.py create mode 100644 sailpoint/nerm/models/profile_type_roles.py create mode 100644 sailpoint/nerm/models/profile_type_roles1.py create mode 100644 sailpoint/nerm/models/profile_type_rule.py create mode 100644 sailpoint/nerm/models/profile_type_rule1.py create mode 100644 sailpoint/nerm/models/profiles.py create mode 100644 sailpoint/nerm/models/request_action.py create mode 100644 sailpoint/nerm/models/rest_api_action.py create mode 100644 sailpoint/nerm/models/review_action.py create mode 100644 sailpoint/nerm/models/risk_level.py create mode 100644 sailpoint/nerm/models/risk_rule.py create mode 100644 sailpoint/nerm/models/risk_rule1.py create mode 100644 sailpoint/nerm/models/risk_score.py create mode 100644 sailpoint/nerm/models/role.py create mode 100644 sailpoint/nerm/models/role1.py create mode 100644 sailpoint/nerm/models/role_profile.py create mode 100644 sailpoint/nerm/models/role_profile1.py create mode 100644 sailpoint/nerm/models/role_profiles.py create mode 100644 sailpoint/nerm/models/roles.py create mode 100644 sailpoint/nerm/models/run_workflow_action.py create mode 100644 sailpoint/nerm/models/run_workflow_action_configuration_attributes.py create mode 100644 sailpoint/nerm/models/search200_response.py create mode 100644 sailpoint/nerm/models/search_advanced_search200_response.py create mode 100644 sailpoint/nerm/models/search_request.py create mode 100644 sailpoint/nerm/models/search_request_audit_events.py create mode 100644 sailpoint/nerm/models/set_attributes_action.py create mode 100644 sailpoint/nerm/models/set_security_question_action.py create mode 100644 sailpoint/nerm/models/soap_api_action.py create mode 100644 sailpoint/nerm/models/status_change_action.py create mode 100644 sailpoint/nerm/models/submit_advanced_search200_response.py create mode 100644 sailpoint/nerm/models/submit_advanced_search_request.py create mode 100644 sailpoint/nerm/models/submit_attribute_option200_response.py create mode 100644 sailpoint/nerm/models/submit_attribute_option_request.py create mode 100644 sailpoint/nerm/models/submit_attribute_options200_response.py create mode 100644 sailpoint/nerm/models/submit_attribute_options_request.py create mode 100644 sailpoint/nerm/models/submit_profile_request.py create mode 100644 sailpoint/nerm/models/submit_profile_type200_response.py create mode 100644 sailpoint/nerm/models/submit_profile_type_request.py create mode 100644 sailpoint/nerm/models/submit_profile_upload_request.py create mode 100644 sailpoint/nerm/models/submit_role200_response.py create mode 100644 sailpoint/nerm/models/submit_role_profile200_response.py create mode 100644 sailpoint/nerm/models/submit_role_profile_request.py create mode 100644 sailpoint/nerm/models/submit_role_profiles200_response.py create mode 100644 sailpoint/nerm/models/submit_role_profiles_request.py create mode 100644 sailpoint/nerm/models/submit_role_request.py create mode 100644 sailpoint/nerm/models/submit_roles200_response.py create mode 100644 sailpoint/nerm/models/submit_roles_request.py create mode 100644 sailpoint/nerm/models/submit_user200_response.py create mode 100644 sailpoint/nerm/models/submit_user_manager200_response.py create mode 100644 sailpoint/nerm/models/submit_user_manager_request.py create mode 100644 sailpoint/nerm/models/submit_user_managers200_response.py create mode 100644 sailpoint/nerm/models/submit_user_managers_request.py create mode 100644 sailpoint/nerm/models/submit_user_profile200_response.py create mode 100644 sailpoint/nerm/models/submit_user_profile_request.py create mode 100644 sailpoint/nerm/models/submit_user_request.py create mode 100644 sailpoint/nerm/models/submit_user_role200_response.py create mode 100644 sailpoint/nerm/models/submit_user_role_request.py create mode 100644 sailpoint/nerm/models/submit_user_roles200_response.py create mode 100644 sailpoint/nerm/models/submit_user_roles_request.py create mode 100644 sailpoint/nerm/models/submit_users200_response.py create mode 100644 sailpoint/nerm/models/submit_users_request.py create mode 100644 sailpoint/nerm/models/submit_workflow_session200_response.py create mode 100644 sailpoint/nerm/models/submit_workflow_session_request.py create mode 100644 sailpoint/nerm/models/synced_attribute.py create mode 100644 sailpoint/nerm/models/synced_attribute1.py create mode 100644 sailpoint/nerm/models/system_role.py create mode 100644 sailpoint/nerm/models/system_role_permission.py create mode 100644 sailpoint/nerm/models/system_role_permission1.py create mode 100644 sailpoint/nerm/models/unassign_action.py create mode 100644 sailpoint/nerm/models/update_form_by_id_request.py create mode 100644 sailpoint/nerm/models/update_page_content_translation_by_id_request.py create mode 100644 sailpoint/nerm/models/update_profile_action.py create mode 100644 sailpoint/nerm/models/update_profile_request.py create mode 100644 sailpoint/nerm/models/update_profile_request_profile.py create mode 100644 sailpoint/nerm/models/update_workflow.py create mode 100644 sailpoint/nerm/models/url.py create mode 100644 sailpoint/nerm/models/user.py create mode 100644 sailpoint/nerm/models/user1.py create mode 100644 sailpoint/nerm/models/user_manager.py create mode 100644 sailpoint/nerm/models/user_manager1.py create mode 100644 sailpoint/nerm/models/user_managers.py create mode 100644 sailpoint/nerm/models/user_profile.py create mode 100644 sailpoint/nerm/models/user_profile1.py create mode 100644 sailpoint/nerm/models/user_profiles.py create mode 100644 sailpoint/nerm/models/user_role.py create mode 100644 sailpoint/nerm/models/user_role1.py create mode 100644 sailpoint/nerm/models/user_roles.py create mode 100644 sailpoint/nerm/models/username_password_action.py create mode 100644 sailpoint/nerm/models/users.py create mode 100644 sailpoint/nerm/models/validation_errors.py create mode 100644 sailpoint/nerm/models/workflow_action.py create mode 100644 sailpoint/nerm/models/workflow_action_performers.py create mode 100644 sailpoint/nerm/models/workflow_action_performers1.py create mode 100644 sailpoint/nerm/models/workflow_page.py create mode 100644 sailpoint/nerm/models/workflow_session.py create mode 100644 sailpoint/nerm/models/workflow_session1.py create mode 100644 sailpoint/nerm/rest.py create mode 100644 sailpoint/nerm/test/__init__.py create mode 100644 sailpoint/nerm/test/test_advanced_search.py create mode 100644 sailpoint/nerm/test/test_advanced_search1.py create mode 100644 sailpoint/nerm/test/test_advanced_search1_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_advanced_search_api.py create mode 100644 sailpoint/nerm/test/test_advanced_search_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_approval_action.py create mode 100644 sailpoint/nerm/test/test_ask_security_question_action.py create mode 100644 sailpoint/nerm/test/test_attribute.py create mode 100644 sailpoint/nerm/test/test_attribute1.py create mode 100644 sailpoint/nerm/test/test_attribute1_validations_attributes.py create mode 100644 sailpoint/nerm/test/test_attribute_option.py create mode 100644 sailpoint/nerm/test/test_attribute_option1.py create mode 100644 sailpoint/nerm/test/test_attribute_options.py create mode 100644 sailpoint/nerm/test/test_attribute_options_api.py create mode 100644 sailpoint/nerm/test/test_attribute_properties.py create mode 100644 sailpoint/nerm/test/test_attributes_api.py create mode 100644 sailpoint/nerm/test/test_audit_event.py create mode 100644 sailpoint/nerm/test/test_audit_event_created_at.py create mode 100644 sailpoint/nerm/test/test_audit_event_data.py create mode 100644 sailpoint/nerm/test/test_audits_api.py create mode 100644 sailpoint/nerm/test/test_auto_assign_action.py create mode 100644 sailpoint/nerm/test/test_automated_workflow.py create mode 100644 sailpoint/nerm/test/test_automated_workflow_condition_rules_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_batch_update_action.py create mode 100644 sailpoint/nerm/test/test_batch_workflow.py create mode 100644 sailpoint/nerm/test/test_batch_workflow_options.py create mode 100644 sailpoint/nerm/test/test_close_session_action.py create mode 100644 sailpoint/nerm/test/test_consolidation_api.py create mode 100644 sailpoint/nerm/test/test_contributors_action.py create mode 100644 sailpoint/nerm/test/test_create_approval_action200_response.py create mode 100644 sailpoint/nerm/test/test_create_approval_action_request.py create mode 100644 sailpoint/nerm/test/test_create_ask_security_question_action_request.py create mode 100644 sailpoint/nerm/test/test_create_attribute201_response.py create mode 100644 sailpoint/nerm/test/test_create_attribute_request.py create mode 100644 sailpoint/nerm/test/test_create_auto_assign_action_request.py create mode 100644 sailpoint/nerm/test/test_create_automated_workflow_request.py create mode 100644 sailpoint/nerm/test/test_create_batch_update_action_request.py create mode 100644 sailpoint/nerm/test/test_create_batch_workflow_request.py create mode 100644 sailpoint/nerm/test/test_create_close_session_action_request.py create mode 100644 sailpoint/nerm/test/test_create_contributors_action_request.py create mode 100644 sailpoint/nerm/test/test_create_create_profile_action_request.py create mode 100644 sailpoint/nerm/test/test_create_create_workflow200_response.py create mode 100644 sailpoint/nerm/test/test_create_create_workflow_request.py create mode 100644 sailpoint/nerm/test/test_create_duplicate_prevention_action_request.py create mode 100644 sailpoint/nerm/test/test_create_email_verification_action_request.py create mode 100644 sailpoint/nerm/test/test_create_form_attribute_request.py create mode 100644 sailpoint/nerm/test/test_create_form_request.py create mode 100644 sailpoint/nerm/test/test_create_fulfillment_action_request.py create mode 100644 sailpoint/nerm/test/test_create_identity_proofing_action_request.py create mode 100644 sailpoint/nerm/test/test_create_invitation_action_request.py create mode 100644 sailpoint/nerm/test/test_create_ldap_action_request.py create mode 100644 sailpoint/nerm/test/test_create_login_workflow_request.py create mode 100644 sailpoint/nerm/test/test_create_notification_action_request.py create mode 100644 sailpoint/nerm/test/test_create_page_content_request.py create mode 100644 sailpoint/nerm/test/test_create_page_content_translation_request.py create mode 100644 sailpoint/nerm/test/test_create_page_element_request.py create mode 100644 sailpoint/nerm/test/test_create_password_reset_action_request.py create mode 100644 sailpoint/nerm/test/test_create_permission200_response.py create mode 100644 sailpoint/nerm/test/test_create_permission_request.py create mode 100644 sailpoint/nerm/test/test_create_profile_action.py create mode 100644 sailpoint/nerm/test/test_create_profile_check_action_request.py create mode 100644 sailpoint/nerm/test/test_create_profile_page200_response.py create mode 100644 sailpoint/nerm/test/test_create_profile_page_request.py create mode 100644 sailpoint/nerm/test/test_create_profile_select_action_request.py create mode 100644 sailpoint/nerm/test/test_create_profile_type_role200_response.py create mode 100644 sailpoint/nerm/test/test_create_profile_type_role_request.py create mode 100644 sailpoint/nerm/test/test_create_profiles_request.py create mode 100644 sailpoint/nerm/test/test_create_request_action_request.py create mode 100644 sailpoint/nerm/test/test_create_rest_api_action_request.py create mode 100644 sailpoint/nerm/test/test_create_review_action_request.py create mode 100644 sailpoint/nerm/test/test_create_run_workflow_action_request.py create mode 100644 sailpoint/nerm/test/test_create_set_attributes_action_request.py create mode 100644 sailpoint/nerm/test/test_create_set_security_question_action_request.py create mode 100644 sailpoint/nerm/test/test_create_soap_api_action_request.py create mode 100644 sailpoint/nerm/test/test_create_status_change_action_request.py create mode 100644 sailpoint/nerm/test/test_create_synced_attribute201_response.py create mode 100644 sailpoint/nerm/test/test_create_system_role_permission200_response.py create mode 100644 sailpoint/nerm/test/test_create_system_role_permission_request.py create mode 100644 sailpoint/nerm/test/test_create_unassign_action_request.py create mode 100644 sailpoint/nerm/test/test_create_update_profile_action_request.py create mode 100644 sailpoint/nerm/test/test_create_update_workflow_request.py create mode 100644 sailpoint/nerm/test/test_create_user_profiles200_response.py create mode 100644 sailpoint/nerm/test/test_create_user_profiles_request.py create mode 100644 sailpoint/nerm/test/test_create_username_password_action_request.py create mode 100644 sailpoint/nerm/test/test_create_workflow.py create mode 100644 sailpoint/nerm/test/test_create_workflow_action_performer200_response.py create mode 100644 sailpoint/nerm/test/test_create_workflow_action_performer_request.py create mode 100644 sailpoint/nerm/test/test_create_workflow_page_request.py create mode 100644 sailpoint/nerm/test/test_data_records.py create mode 100644 sailpoint/nerm/test/test_delegation.py create mode 100644 sailpoint/nerm/test/test_delegation1.py create mode 100644 sailpoint/nerm/test/test_delegations_api.py create mode 100644 sailpoint/nerm/test/test_delegations_get200_response.py create mode 100644 sailpoint/nerm/test/test_delegations_post201_response.py create mode 100644 sailpoint/nerm/test/test_delegations_post404_response.py create mode 100644 sailpoint/nerm/test/test_delegations_post_request.py create mode 100644 sailpoint/nerm/test/test_delete_attribute_option_by_id200_response.py create mode 100644 sailpoint/nerm/test/test_delete_master_record400_response.py create mode 100644 sailpoint/nerm/test/test_delete_profile_type_by_id200_response.py create mode 100644 sailpoint/nerm/test/test_delete_profiles200_response.py create mode 100644 sailpoint/nerm/test/test_duplicate_prevention_action.py create mode 100644 sailpoint/nerm/test/test_email_verification_action.py create mode 100644 sailpoint/nerm/test/test_form.py create mode 100644 sailpoint/nerm/test/test_form1.py create mode 100644 sailpoint/nerm/test/test_form_attribute.py create mode 100644 sailpoint/nerm/test/test_form_attributes.py create mode 100644 sailpoint/nerm/test/test_form_attributes_api.py create mode 100644 sailpoint/nerm/test/test_forms.py create mode 100644 sailpoint/nerm/test/test_forms_api.py create mode 100644 sailpoint/nerm/test/test_fulfillment_action.py create mode 100644 sailpoint/nerm/test/test_get_advanced_search200_response.py create mode 100644 sailpoint/nerm/test/test_get_attribute_options200_response.py create mode 100644 sailpoint/nerm/test/test_get_attributes200_response.py create mode 100644 sailpoint/nerm/test/test_get_attributes400_response.py create mode 100644 sailpoint/nerm/test/test_get_attributes500_response.py create mode 100644 sailpoint/nerm/test/test_get_form_attributes200_response.py create mode 100644 sailpoint/nerm/test/test_get_forms200_response.py create mode 100644 sailpoint/nerm/test/test_get_identity_proofing_results200_response.py create mode 100644 sailpoint/nerm/test/test_get_job_status200_response.py create mode 100644 sailpoint/nerm/test/test_get_job_status200_response_job_data_inner.py create mode 100644 sailpoint/nerm/test/test_get_page_content_translation200_response.py create mode 100644 sailpoint/nerm/test/test_get_page_contents200_response.py create mode 100644 sailpoint/nerm/test/test_get_page_elements200_response.py create mode 100644 sailpoint/nerm/test/test_get_profile_type_attributes200_response.py create mode 100644 sailpoint/nerm/test/test_get_profile_type_attributes_sort_parameter.py create mode 100644 sailpoint/nerm/test/test_get_profile_types200_response.py create mode 100644 sailpoint/nerm/test/test_get_risk_level200_response.py create mode 100644 sailpoint/nerm/test/test_get_risk_levels200_response.py create mode 100644 sailpoint/nerm/test/test_get_risk_score200_response.py create mode 100644 sailpoint/nerm/test/test_get_risk_scores200_response.py create mode 100644 sailpoint/nerm/test/test_get_role_profiles200_response.py create mode 100644 sailpoint/nerm/test/test_get_roles200_response.py create mode 100644 sailpoint/nerm/test/test_get_schema_mapped_profiles_collection200_response.py create mode 100644 sailpoint/nerm/test/test_get_single_schema_mapped_profile200_response.py create mode 100644 sailpoint/nerm/test/test_get_system_roles200_response.py create mode 100644 sailpoint/nerm/test/test_get_user_managers200_response.py create mode 100644 sailpoint/nerm/test/test_get_user_profiles200_response.py create mode 100644 sailpoint/nerm/test/test_get_user_roles200_response.py create mode 100644 sailpoint/nerm/test/test_get_users200_response.py create mode 100644 sailpoint/nerm/test/test_get_workflow_actions200_response.py create mode 100644 sailpoint/nerm/test/test_get_workflow_sessions200_response.py create mode 100644 sailpoint/nerm/test/test_identity_proofing_action.py create mode 100644 sailpoint/nerm/test/test_identity_proofing_result.py create mode 100644 sailpoint/nerm/test/test_identity_proofing_results_api.py create mode 100644 sailpoint/nerm/test/test_invalid_json.py create mode 100644 sailpoint/nerm/test/test_invitation_action.py create mode 100644 sailpoint/nerm/test/test_invitation_action_configuration_attributes.py create mode 100644 sailpoint/nerm/test/test_invitation_action_workflow_action_email_attributes.py create mode 100644 sailpoint/nerm/test/test_isc_accounts_api.py create mode 100644 sailpoint/nerm/test/test_job.py create mode 100644 sailpoint/nerm/test/test_job_job_status.py create mode 100644 sailpoint/nerm/test/test_job_status_api.py create mode 100644 sailpoint/nerm/test/test_language.py create mode 100644 sailpoint/nerm/test/test_languages_api.py create mode 100644 sailpoint/nerm/test/test_ldap_action.py create mode 100644 sailpoint/nerm/test/test_ldap_action_ldap_action_user_roles_attributes.py create mode 100644 sailpoint/nerm/test/test_ldap_action_workflow_action_directory_groups_attributes.py create mode 100644 sailpoint/nerm/test/test_ldap_action_workflow_action_value_builders_attributes.py create mode 100644 sailpoint/nerm/test/test_login_workflow.py create mode 100644 sailpoint/nerm/test/test_login_workflow_options.py create mode 100644 sailpoint/nerm/test/test_metadata.py create mode 100644 sailpoint/nerm/test/test_metadata_with_after_id.py create mode 100644 sailpoint/nerm/test/test_notification_action.py create mode 100644 sailpoint/nerm/test/test_notification_action_workflow_action_email_attributes.py create mode 100644 sailpoint/nerm/test/test_page_content.py create mode 100644 sailpoint/nerm/test/test_page_content1.py create mode 100644 sailpoint/nerm/test/test_page_content_translation.py create mode 100644 sailpoint/nerm/test/test_page_content_translation1.py create mode 100644 sailpoint/nerm/test/test_page_content_translations_api.py create mode 100644 sailpoint/nerm/test/test_page_contents_api.py create mode 100644 sailpoint/nerm/test/test_page_element.py create mode 100644 sailpoint/nerm/test/test_page_element1.py create mode 100644 sailpoint/nerm/test/test_page_elements_api.py create mode 100644 sailpoint/nerm/test/test_pages.py create mode 100644 sailpoint/nerm/test/test_pages_api.py create mode 100644 sailpoint/nerm/test/test_password_reset_action.py create mode 100644 sailpoint/nerm/test/test_patch_language_request.py create mode 100644 sailpoint/nerm/test/test_permission.py create mode 100644 sailpoint/nerm/test/test_permission1.py create mode 100644 sailpoint/nerm/test/test_permissions_api.py create mode 100644 sailpoint/nerm/test/test_profile.py create mode 100644 sailpoint/nerm/test/test_profile1.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_date.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_date1.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_id.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_id1.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_string.py create mode 100644 sailpoint/nerm/test/test_profile_attribute_rule_string1.py create mode 100644 sailpoint/nerm/test/test_profile_check_action.py create mode 100644 sailpoint/nerm/test/test_profile_page.py create mode 100644 sailpoint/nerm/test/test_profile_select_action.py create mode 100644 sailpoint/nerm/test/test_profile_status_rule.py create mode 100644 sailpoint/nerm/test/test_profile_status_rule1.py create mode 100644 sailpoint/nerm/test/test_profile_type.py create mode 100644 sailpoint/nerm/test/test_profile_type1.py create mode 100644 sailpoint/nerm/test/test_profile_type1_profile_type_dup_attributes_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_profile_type1_profile_type_namings_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_profile_type_attribute.py create mode 100644 sailpoint/nerm/test/test_profile_type_attributes.py create mode 100644 sailpoint/nerm/test/test_profile_type_profile_type_dup_attributes_inner.py create mode 100644 sailpoint/nerm/test/test_profile_type_profile_type_namings_inner.py create mode 100644 sailpoint/nerm/test/test_profile_type_roles.py create mode 100644 sailpoint/nerm/test/test_profile_type_roles1.py create mode 100644 sailpoint/nerm/test/test_profile_type_roles_api.py create mode 100644 sailpoint/nerm/test/test_profile_type_rule.py create mode 100644 sailpoint/nerm/test/test_profile_type_rule1.py create mode 100644 sailpoint/nerm/test/test_profile_types_api.py create mode 100644 sailpoint/nerm/test/test_profiles.py create mode 100644 sailpoint/nerm/test/test_profiles_api.py create mode 100644 sailpoint/nerm/test/test_request_action.py create mode 100644 sailpoint/nerm/test/test_rest_api_action.py create mode 100644 sailpoint/nerm/test/test_review_action.py create mode 100644 sailpoint/nerm/test/test_risk_level.py create mode 100644 sailpoint/nerm/test/test_risk_levels_api.py create mode 100644 sailpoint/nerm/test/test_risk_rule.py create mode 100644 sailpoint/nerm/test/test_risk_rule1.py create mode 100644 sailpoint/nerm/test/test_risk_score.py create mode 100644 sailpoint/nerm/test/test_risk_scores_api.py create mode 100644 sailpoint/nerm/test/test_role.py create mode 100644 sailpoint/nerm/test/test_role1.py create mode 100644 sailpoint/nerm/test/test_role_profile.py create mode 100644 sailpoint/nerm/test/test_role_profile1.py create mode 100644 sailpoint/nerm/test/test_role_profiles.py create mode 100644 sailpoint/nerm/test/test_role_profiles_api.py create mode 100644 sailpoint/nerm/test/test_roles.py create mode 100644 sailpoint/nerm/test/test_roles_api.py create mode 100644 sailpoint/nerm/test/test_run_workflow_action.py create mode 100644 sailpoint/nerm/test/test_run_workflow_action_configuration_attributes.py create mode 100644 sailpoint/nerm/test/test_search200_response.py create mode 100644 sailpoint/nerm/test/test_search_advanced_search200_response.py create mode 100644 sailpoint/nerm/test/test_search_request.py create mode 100644 sailpoint/nerm/test/test_search_request_audit_events.py create mode 100644 sailpoint/nerm/test/test_set_attributes_action.py create mode 100644 sailpoint/nerm/test/test_set_security_question_action.py create mode 100644 sailpoint/nerm/test/test_soap_api_action.py create mode 100644 sailpoint/nerm/test/test_status_change_action.py create mode 100644 sailpoint/nerm/test/test_submit_advanced_search200_response.py create mode 100644 sailpoint/nerm/test/test_submit_advanced_search_request.py create mode 100644 sailpoint/nerm/test/test_submit_attribute_option200_response.py create mode 100644 sailpoint/nerm/test/test_submit_attribute_option_request.py create mode 100644 sailpoint/nerm/test/test_submit_attribute_options200_response.py create mode 100644 sailpoint/nerm/test/test_submit_attribute_options_request.py create mode 100644 sailpoint/nerm/test/test_submit_profile_request.py create mode 100644 sailpoint/nerm/test/test_submit_profile_type200_response.py create mode 100644 sailpoint/nerm/test/test_submit_profile_type_request.py create mode 100644 sailpoint/nerm/test/test_submit_profile_upload_request.py create mode 100644 sailpoint/nerm/test/test_submit_role200_response.py create mode 100644 sailpoint/nerm/test/test_submit_role_profile200_response.py create mode 100644 sailpoint/nerm/test/test_submit_role_profile_request.py create mode 100644 sailpoint/nerm/test/test_submit_role_profiles200_response.py create mode 100644 sailpoint/nerm/test/test_submit_role_profiles_request.py create mode 100644 sailpoint/nerm/test/test_submit_role_request.py create mode 100644 sailpoint/nerm/test/test_submit_roles200_response.py create mode 100644 sailpoint/nerm/test/test_submit_roles_request.py create mode 100644 sailpoint/nerm/test/test_submit_user200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_manager200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_manager_request.py create mode 100644 sailpoint/nerm/test/test_submit_user_managers200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_managers_request.py create mode 100644 sailpoint/nerm/test/test_submit_user_profile200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_profile_request.py create mode 100644 sailpoint/nerm/test/test_submit_user_request.py create mode 100644 sailpoint/nerm/test/test_submit_user_role200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_role_request.py create mode 100644 sailpoint/nerm/test/test_submit_user_roles200_response.py create mode 100644 sailpoint/nerm/test/test_submit_user_roles_request.py create mode 100644 sailpoint/nerm/test/test_submit_users200_response.py create mode 100644 sailpoint/nerm/test/test_submit_users_request.py create mode 100644 sailpoint/nerm/test/test_submit_workflow_session200_response.py create mode 100644 sailpoint/nerm/test/test_submit_workflow_session_request.py create mode 100644 sailpoint/nerm/test/test_synced_attribute.py create mode 100644 sailpoint/nerm/test/test_synced_attribute1.py create mode 100644 sailpoint/nerm/test/test_synced_attributes_api.py create mode 100644 sailpoint/nerm/test/test_system_role.py create mode 100644 sailpoint/nerm/test/test_system_role_permission.py create mode 100644 sailpoint/nerm/test/test_system_role_permission1.py create mode 100644 sailpoint/nerm/test/test_system_role_permissions_api.py create mode 100644 sailpoint/nerm/test/test_system_roles_api.py create mode 100644 sailpoint/nerm/test/test_unassign_action.py create mode 100644 sailpoint/nerm/test/test_update_form_by_id_request.py create mode 100644 sailpoint/nerm/test/test_update_page_content_translation_by_id_request.py create mode 100644 sailpoint/nerm/test/test_update_profile_action.py create mode 100644 sailpoint/nerm/test/test_update_profile_request.py create mode 100644 sailpoint/nerm/test/test_update_profile_request_profile.py create mode 100644 sailpoint/nerm/test/test_update_workflow.py create mode 100644 sailpoint/nerm/test/test_url.py create mode 100644 sailpoint/nerm/test/test_user.py create mode 100644 sailpoint/nerm/test/test_user1.py create mode 100644 sailpoint/nerm/test/test_user_manager.py create mode 100644 sailpoint/nerm/test/test_user_manager1.py create mode 100644 sailpoint/nerm/test/test_user_managers.py create mode 100644 sailpoint/nerm/test/test_user_managers_api.py create mode 100644 sailpoint/nerm/test/test_user_profile.py create mode 100644 sailpoint/nerm/test/test_user_profile1.py create mode 100644 sailpoint/nerm/test/test_user_profiles.py create mode 100644 sailpoint/nerm/test/test_user_profiles_api.py create mode 100644 sailpoint/nerm/test/test_user_role.py create mode 100644 sailpoint/nerm/test/test_user_role1.py create mode 100644 sailpoint/nerm/test/test_user_roles.py create mode 100644 sailpoint/nerm/test/test_user_roles_api.py create mode 100644 sailpoint/nerm/test/test_username_password_action.py create mode 100644 sailpoint/nerm/test/test_users.py create mode 100644 sailpoint/nerm/test/test_users_api.py create mode 100644 sailpoint/nerm/test/test_validation_errors.py create mode 100644 sailpoint/nerm/test/test_workflow_action.py create mode 100644 sailpoint/nerm/test/test_workflow_action_performer_api.py create mode 100644 sailpoint/nerm/test/test_workflow_action_performers.py create mode 100644 sailpoint/nerm/test/test_workflow_action_performers1.py create mode 100644 sailpoint/nerm/test/test_workflow_actions_api.py create mode 100644 sailpoint/nerm/test/test_workflow_page.py create mode 100644 sailpoint/nerm/test/test_workflow_session.py create mode 100644 sailpoint/nerm/test/test_workflow_session1.py create mode 100644 sailpoint/nerm/test/test_workflow_sessions_api.py create mode 100644 sailpoint/nerm/test/test_workflows_api.py create mode 100644 sailpoint/nerm/v2025/__init__.py create mode 100644 sailpoint/nerm/v2025/api/__init__.py create mode 100644 sailpoint/nerm/v2025/api/delegations_api.py create mode 100644 sailpoint/nerm/v2025/api_client.py create mode 100644 sailpoint/nerm/v2025/api_response.py create mode 100644 sailpoint/nerm/v2025/configuration.py create mode 100644 sailpoint/nerm/v2025/docs/Methods/DelegationsApi.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegateUser.md create mode 100644 sailpoint/nerm/v2025/docs/Models/Delegation.md create mode 100644 sailpoint/nerm/v2025/docs/Models/Delegation1.md create mode 100644 sailpoint/nerm/v2025/docs/Models/Delegation2.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegationsGet200Response.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegationsGet500Response.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegationsPost201Response.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegationsPost404Response.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegationsPostRequest.md create mode 100644 sailpoint/nerm/v2025/docs/Models/DelegatorUser.md create mode 100644 sailpoint/nerm/v2025/exceptions.py create mode 100644 sailpoint/nerm/v2025/models/__init__.py create mode 100644 sailpoint/nerm/v2025/models/delegate_user.py create mode 100644 sailpoint/nerm/v2025/models/delegation.py create mode 100644 sailpoint/nerm/v2025/models/delegation1.py create mode 100644 sailpoint/nerm/v2025/models/delegation2.py create mode 100644 sailpoint/nerm/v2025/models/delegations_get200_response.py create mode 100644 sailpoint/nerm/v2025/models/delegations_get500_response.py create mode 100644 sailpoint/nerm/v2025/models/delegations_post201_response.py create mode 100644 sailpoint/nerm/v2025/models/delegations_post404_response.py create mode 100644 sailpoint/nerm/v2025/models/delegations_post_request.py create mode 100644 sailpoint/nerm/v2025/models/delegator_user.py create mode 100644 sailpoint/nerm/v2025/rest.py create mode 100644 sailpoint/nerm/v2025/test/__init__.py create mode 100644 sailpoint/nerm/v2025/test/test_delegate_user.py create mode 100644 sailpoint/nerm/v2025/test/test_delegation.py create mode 100644 sailpoint/nerm/v2025/test/test_delegation1.py create mode 100644 sailpoint/nerm/v2025/test/test_delegation2.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_api.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_get200_response.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_get500_response.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_post201_response.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_post404_response.py create mode 100644 sailpoint/nerm/v2025/test/test_delegations_post_request.py create mode 100644 sailpoint/nerm/v2025/test/test_delegator_user.py create mode 100644 sailpoint/nerm/v2025_README.md create mode 100644 sailpoint/nerm_README.md create mode 100644 sdk-resources/nerm-config.yaml create mode 100644 sdk-resources/v2025-nerm-config.yaml diff --git a/.github/actions/build-sdk/action.yaml b/.github/actions/build-sdk/action.yaml index fb5028900..8883f595c 100644 --- a/.github/actions/build-sdk/action.yaml +++ b/.github/actions/build-sdk/action.yaml @@ -99,6 +99,30 @@ runs: --enable-post-process-file node sdk-resources/postscript.js ./sailpoint/v2026 + - name: Build NERM SDK + shell: bash + run: | + rm -rf ./sailpoint/nerm + java -jar openapi-generator-cli.jar generate \ + -i ${{ inputs.api-specs-path }}/nerm/openapi.yaml \ + -g python -o . \ + --global-property skipFormModel=false,apiDocs=true,modelDocs=true \ + --config sdk-resources/nerm-config.yaml \ + --enable-post-process-file + node sdk-resources/postscript.js ./sailpoint/nerm + + - name: Build NERM V2025 SDK + shell: bash + run: | + rm -rf ./sailpoint/nerm/v2025 + java -jar openapi-generator-cli.jar generate \ + -i ${{ inputs.api-specs-path }}/nerm/v2025/v2025.yaml \ + -g python -o . \ + --global-property skipFormModel=false,apiDocs=true,modelDocs=true \ + --config sdk-resources/v2025-nerm-config.yaml \ + --enable-post-process-file + node sdk-resources/postscript.js ./sailpoint/nerm/v2025 + - name: Build and Test shell: bash run: | diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index a0260c12f..9368c0f97 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1,4367 +1,48 @@ sailpoint/__init__.py -sailpoint/v2026/Index.md -sailpoint/v2026/__init__.py -sailpoint/v2026/api/__init__.py -sailpoint/v2026/api/access_model_metadata_api.py -sailpoint/v2026/api/access_profiles_api.py -sailpoint/v2026/api/access_request_approvals_api.py -sailpoint/v2026/api/access_request_identity_metrics_api.py -sailpoint/v2026/api/access_requests_api.py -sailpoint/v2026/api/account_activities_api.py -sailpoint/v2026/api/account_aggregations_api.py -sailpoint/v2026/api/account_deletion_requests_api.py -sailpoint/v2026/api/account_usages_api.py -sailpoint/v2026/api/accounts_api.py -sailpoint/v2026/api/api_usage_api.py -sailpoint/v2026/api/application_discovery_api.py -sailpoint/v2026/api/approvals_api.py -sailpoint/v2026/api/apps_api.py -sailpoint/v2026/api/auth_profile_api.py -sailpoint/v2026/api/auth_users_api.py -sailpoint/v2026/api/branding_api.py -sailpoint/v2026/api/certification_campaign_filters_api.py -sailpoint/v2026/api/certification_campaigns_api.py -sailpoint/v2026/api/certification_summaries_api.py -sailpoint/v2026/api/certifications_api.py -sailpoint/v2026/api/classify_source_api.py -sailpoint/v2026/api/configuration_hub_api.py -sailpoint/v2026/api/connector_customizers_api.py -sailpoint/v2026/api/connector_rule_management_api.py -sailpoint/v2026/api/connectors_api.py -sailpoint/v2026/api/custom_forms_api.py -sailpoint/v2026/api/custom_password_instructions_api.py -sailpoint/v2026/api/custom_user_levels_api.py -sailpoint/v2026/api/data_access_security_api.py -sailpoint/v2026/api/data_segmentation_api.py -sailpoint/v2026/api/declassify_source_api.py -sailpoint/v2026/api/dimensions_api.py -sailpoint/v2026/api/entitlements_api.py -sailpoint/v2026/api/global_tenant_security_settings_api.py -sailpoint/v2026/api/governance_groups_api.py -sailpoint/v2026/api/iai_access_request_recommendations_api.py -sailpoint/v2026/api/iai_common_access_api.py -sailpoint/v2026/api/iai_outliers_api.py -sailpoint/v2026/api/iai_peer_group_strategies_api.py -sailpoint/v2026/api/iai_recommendations_api.py -sailpoint/v2026/api/iai_role_mining_api.py -sailpoint/v2026/api/icons_api.py -sailpoint/v2026/api/identities_api.py -sailpoint/v2026/api/identity_attributes_api.py -sailpoint/v2026/api/identity_history_api.py -sailpoint/v2026/api/identity_profiles_api.py -sailpoint/v2026/api/launchers_api.py -sailpoint/v2026/api/lifecycle_states_api.py -sailpoint/v2026/api/machine_account_classify_api.py -sailpoint/v2026/api/machine_account_creation_request_api.py -sailpoint/v2026/api/machine_account_mappings_api.py -sailpoint/v2026/api/machine_account_subtypes_api.py -sailpoint/v2026/api/machine_accounts_api.py -sailpoint/v2026/api/machine_classification_config_api.py -sailpoint/v2026/api/machine_identities_api.py -sailpoint/v2026/api/managed_clients_api.py -sailpoint/v2026/api/managed_cluster_types_api.py -sailpoint/v2026/api/managed_clusters_api.py -sailpoint/v2026/api/mfa_configuration_api.py -sailpoint/v2026/api/multi_host_integration_api.py -sailpoint/v2026/api/non_employee_lifecycle_management_api.py -sailpoint/v2026/api/notifications_api.py -sailpoint/v2026/api/o_auth_clients_api.py -sailpoint/v2026/api/org_config_api.py -sailpoint/v2026/api/parameter_storage_api.py -sailpoint/v2026/api/password_configuration_api.py -sailpoint/v2026/api/password_dictionary_api.py -sailpoint/v2026/api/password_management_api.py -sailpoint/v2026/api/password_policies_api.py -sailpoint/v2026/api/password_sync_groups_api.py -sailpoint/v2026/api/personal_access_tokens_api.py -sailpoint/v2026/api/privilege_criteria_api.py -sailpoint/v2026/api/privilege_criteria_configuration_api.py -sailpoint/v2026/api/public_identities_api.py -sailpoint/v2026/api/public_identities_config_api.py -sailpoint/v2026/api/reports_data_extraction_api.py -sailpoint/v2026/api/requestable_objects_api.py -sailpoint/v2026/api/role_insights_api.py -sailpoint/v2026/api/role_propagation_api.py -sailpoint/v2026/api/roles_api.py -sailpoint/v2026/api/saved_search_api.py -sailpoint/v2026/api/scheduled_search_api.py -sailpoint/v2026/api/search_api.py -sailpoint/v2026/api/search_attribute_configuration_api.py -sailpoint/v2026/api/segments_api.py -sailpoint/v2026/api/service_desk_integration_api.py -sailpoint/v2026/api/shared_signals_framework_ssf_api.py -sailpoint/v2026/api/sim_integrations_api.py -sailpoint/v2026/api/sod_policies_api.py -sailpoint/v2026/api/sod_violations_api.py -sailpoint/v2026/api/source_usages_api.py -sailpoint/v2026/api/sources_api.py -sailpoint/v2026/api/sp_config_api.py -sailpoint/v2026/api/suggested_entitlement_description_api.py -sailpoint/v2026/api/tagged_objects_api.py -sailpoint/v2026/api/tags_api.py -sailpoint/v2026/api/task_management_api.py -sailpoint/v2026/api/tenant_api.py -sailpoint/v2026/api/tenant_context_api.py -sailpoint/v2026/api/transforms_api.py -sailpoint/v2026/api/triggers_api.py -sailpoint/v2026/api/ui_metadata_api.py -sailpoint/v2026/api/work_items_api.py -sailpoint/v2026/api/work_reassignment_api.py -sailpoint/v2026/api/workflows_api.py -sailpoint/v2026/api_client.py -sailpoint/v2026/api_response.py -sailpoint/v2026/configuration.py -sailpoint/v2026/docs/Access.md -sailpoint/v2026/docs/AccessActionConfiguration.md -sailpoint/v2026/docs/AccessApps.md -sailpoint/v2026/docs/AccessAppsOwner.md -sailpoint/v2026/docs/AccessConstraint.md -sailpoint/v2026/docs/AccessCriteria.md -sailpoint/v2026/docs/AccessCriteriaCriteriaListInner.md -sailpoint/v2026/docs/AccessDuration.md -sailpoint/v2026/docs/AccessItemAccessProfileResponse.md -sailpoint/v2026/docs/AccessItemAccessProfileResponseAppRefsInner.md -sailpoint/v2026/docs/AccessItemAccountResponse.md -sailpoint/v2026/docs/AccessItemAppResponse.md -sailpoint/v2026/docs/AccessItemApproverDto.md -sailpoint/v2026/docs/AccessItemAssociated.md -sailpoint/v2026/docs/AccessItemAssociatedAccessItem.md -sailpoint/v2026/docs/AccessItemDiff.md -sailpoint/v2026/docs/AccessItemEntitlementResponse.md -sailpoint/v2026/docs/AccessItemRef.md -sailpoint/v2026/docs/AccessItemRemoved.md -sailpoint/v2026/docs/AccessItemRequestedFor.md -sailpoint/v2026/docs/AccessItemRequestedForDto.md -sailpoint/v2026/docs/AccessItemRequester.md -sailpoint/v2026/docs/AccessItemRequesterDto.md -sailpoint/v2026/docs/AccessItemReviewedBy.md -sailpoint/v2026/docs/AccessItemRoleResponse.md -sailpoint/v2026/docs/AccessModelMetadata.md -sailpoint/v2026/docs/AccessModelMetadataApi.md -sailpoint/v2026/docs/AccessModelMetadataBulkUpdateResponse.md -sailpoint/v2026/docs/AccessModelMetadataValuesInner.md -sailpoint/v2026/docs/AccessProfile.md -sailpoint/v2026/docs/AccessProfileApprovalScheme.md -sailpoint/v2026/docs/AccessProfileBulkDeleteRequest.md -sailpoint/v2026/docs/AccessProfileBulkDeleteResponse.md -sailpoint/v2026/docs/AccessProfileBulkUpdateRequestInner.md -sailpoint/v2026/docs/AccessProfileDetails.md -sailpoint/v2026/docs/AccessProfileDetailsAccountSelector.md -sailpoint/v2026/docs/AccessProfileDocument.md -sailpoint/v2026/docs/AccessProfileDocumentAllOfSource.md -sailpoint/v2026/docs/AccessProfileEntitlement.md -sailpoint/v2026/docs/AccessProfileRef.md -sailpoint/v2026/docs/AccessProfileRole.md -sailpoint/v2026/docs/AccessProfileSourceRef.md -sailpoint/v2026/docs/AccessProfileSummary.md -sailpoint/v2026/docs/AccessProfileUpdateItem.md -sailpoint/v2026/docs/AccessProfileUsage.md -sailpoint/v2026/docs/AccessProfileUsageUsedByInner.md -sailpoint/v2026/docs/AccessProfilesApi.md -sailpoint/v2026/docs/AccessRecommendationMessage.md -sailpoint/v2026/docs/AccessRequest.md -sailpoint/v2026/docs/AccessRequestAdminItemStatus.md -sailpoint/v2026/docs/AccessRequestApprovalsApi.md -sailpoint/v2026/docs/AccessRequestApproversListResponse.md -sailpoint/v2026/docs/AccessRequestConfig.md -sailpoint/v2026/docs/AccessRequestContext.md -sailpoint/v2026/docs/AccessRequestDynamicApprover.md -sailpoint/v2026/docs/AccessRequestDynamicApprover1.md -sailpoint/v2026/docs/AccessRequestDynamicApproverRequestedItemsInner.md -sailpoint/v2026/docs/AccessRequestIdentityMetricsApi.md -sailpoint/v2026/docs/AccessRequestItem.md -sailpoint/v2026/docs/AccessRequestItemResponse.md -sailpoint/v2026/docs/AccessRequestPhases.md -sailpoint/v2026/docs/AccessRequestPostApproval.md -sailpoint/v2026/docs/AccessRequestPostApprovalRequestedItemsStatusInner.md -sailpoint/v2026/docs/AccessRequestPostApprovalRequestedItemsStatusInnerApprovalInfoInner.md -sailpoint/v2026/docs/AccessRequestPostApprovalRequestedItemsStatusInnerApprovalInfoInnerApprover.md -sailpoint/v2026/docs/AccessRequestPreApproval.md -sailpoint/v2026/docs/AccessRequestPreApproval1.md -sailpoint/v2026/docs/AccessRequestPreApprovalRequestedItemsInner.md -sailpoint/v2026/docs/AccessRequestRecommendationActionItemDto.md -sailpoint/v2026/docs/AccessRequestRecommendationActionItemResponseDto.md -sailpoint/v2026/docs/AccessRequestRecommendationConfigDto.md -sailpoint/v2026/docs/AccessRequestRecommendationItem.md -sailpoint/v2026/docs/AccessRequestRecommendationItemDetail.md -sailpoint/v2026/docs/AccessRequestRecommendationItemDetailAccess.md -sailpoint/v2026/docs/AccessRequestRecommendationItemType.md -sailpoint/v2026/docs/AccessRequestResponse.md -sailpoint/v2026/docs/AccessRequestResponse1.md -sailpoint/v2026/docs/AccessRequestTracking.md -sailpoint/v2026/docs/AccessRequestType.md -sailpoint/v2026/docs/AccessRequested.md -sailpoint/v2026/docs/AccessRequestsApi.md -sailpoint/v2026/docs/AccessReviewItem.md -sailpoint/v2026/docs/AccessReviewReassignment.md -sailpoint/v2026/docs/AccessSummary.md -sailpoint/v2026/docs/AccessSummaryAccess.md -sailpoint/v2026/docs/AccessType.md -sailpoint/v2026/docs/Account.md -sailpoint/v2026/docs/AccountAction.md -sailpoint/v2026/docs/AccountActionRequestDto.md -sailpoint/v2026/docs/AccountActionRequestDtoAccountDetails.md -sailpoint/v2026/docs/AccountActionRequestDtoCorrelatedIdentity.md -sailpoint/v2026/docs/AccountActionRequestDtoRequester.md -sailpoint/v2026/docs/AccountActivitiesApi.md -sailpoint/v2026/docs/AccountActivity.md -sailpoint/v2026/docs/AccountActivityApprovalStatus.md -sailpoint/v2026/docs/AccountActivityDocument.md -sailpoint/v2026/docs/AccountActivityItem.md -sailpoint/v2026/docs/AccountActivityItemOperation.md -sailpoint/v2026/docs/AccountActivitySearchedItem.md -sailpoint/v2026/docs/AccountAggregationCompleted.md -sailpoint/v2026/docs/AccountAggregationCompletedSource.md -sailpoint/v2026/docs/AccountAggregationCompletedStats.md -sailpoint/v2026/docs/AccountAggregationStatus.md -sailpoint/v2026/docs/AccountAggregationsApi.md -sailpoint/v2026/docs/AccountAllOfIdentity.md -sailpoint/v2026/docs/AccountAllOfOwnerIdentity.md -sailpoint/v2026/docs/AccountAllOfRecommendation.md -sailpoint/v2026/docs/AccountAllOfSourceOwner.md -sailpoint/v2026/docs/AccountAttributes.md -sailpoint/v2026/docs/AccountAttributesChanged.md -sailpoint/v2026/docs/AccountAttributesChangedAccount.md -sailpoint/v2026/docs/AccountAttributesChangedChangesInner.md -sailpoint/v2026/docs/AccountAttributesChangedChangesInnerNewValue.md -sailpoint/v2026/docs/AccountAttributesChangedChangesInnerOldValue.md -sailpoint/v2026/docs/AccountAttributesChangedIdentity.md -sailpoint/v2026/docs/AccountAttributesChangedSource.md -sailpoint/v2026/docs/AccountAttributesCreate.md -sailpoint/v2026/docs/AccountAttributesCreateAttributes.md -sailpoint/v2026/docs/AccountCorrelated.md -sailpoint/v2026/docs/AccountCorrelatedAccount.md -sailpoint/v2026/docs/AccountCorrelatedIdentity.md -sailpoint/v2026/docs/AccountCorrelatedSource.md -sailpoint/v2026/docs/AccountCreated.md -sailpoint/v2026/docs/AccountCreatedEvent.md -sailpoint/v2026/docs/AccountDeleteConfigDto.md -sailpoint/v2026/docs/AccountDeleteRequestInput.md -sailpoint/v2026/docs/AccountDeleted.md -sailpoint/v2026/docs/AccountDeletedEvent.md -sailpoint/v2026/docs/AccountDeletionRequestsApi.md -sailpoint/v2026/docs/AccountDetails.md -sailpoint/v2026/docs/AccountInfoDto.md -sailpoint/v2026/docs/AccountInfoRef.md -sailpoint/v2026/docs/AccountItemRef.md -sailpoint/v2026/docs/AccountRequest.md -sailpoint/v2026/docs/AccountRequestAsyncResult.md -sailpoint/v2026/docs/AccountRequestDetailsDto.md -sailpoint/v2026/docs/AccountRequestDetailsDtoRequester.md -sailpoint/v2026/docs/AccountRequestInfo.md -sailpoint/v2026/docs/AccountRequestPhase.md -sailpoint/v2026/docs/AccountRequestPhaseState.md -sailpoint/v2026/docs/AccountRequestResult.md -sailpoint/v2026/docs/AccountSource.md -sailpoint/v2026/docs/AccountSourceReference.md -sailpoint/v2026/docs/AccountSourceReferenceGovernanceGroup.md -sailpoint/v2026/docs/AccountSourceReferenceOwner.md -sailpoint/v2026/docs/AccountStatusChanged.md -sailpoint/v2026/docs/AccountStatusChangedAccount.md -sailpoint/v2026/docs/AccountStatusChangedStatusChange.md -sailpoint/v2026/docs/AccountToggleRequest.md -sailpoint/v2026/docs/AccountUncorrelated.md -sailpoint/v2026/docs/AccountUncorrelatedAccount.md -sailpoint/v2026/docs/AccountUncorrelatedIdentity.md -sailpoint/v2026/docs/AccountUncorrelatedSource.md -sailpoint/v2026/docs/AccountUnlockRequest.md -sailpoint/v2026/docs/AccountUpdated.md -sailpoint/v2026/docs/AccountUpdatedEntitlementChangesInner.md -sailpoint/v2026/docs/AccountUpdatedEntitlementChangesInnerAddedInner.md -sailpoint/v2026/docs/AccountUpdatedEntitlementChangesInnerAddedInnerOwner.md -sailpoint/v2026/docs/AccountUpdatedEvent.md -sailpoint/v2026/docs/AccountUpdatedMultiValueAttributeChangesInner.md -sailpoint/v2026/docs/AccountUpdatedMultiValueAttributeChangesInnerAddedValuesInner.md -sailpoint/v2026/docs/AccountUpdatedSingleValueAttributeChangesInner.md -sailpoint/v2026/docs/AccountUpdatedSingleValueAttributeChangesInnerNewValue.md -sailpoint/v2026/docs/AccountUpdatedSingleValueAttributeChangesInnerOldValue.md -sailpoint/v2026/docs/AccountUsage.md -sailpoint/v2026/docs/AccountUsagesApi.md -sailpoint/v2026/docs/AccountV2.md -sailpoint/v2026/docs/AccountsApi.md -sailpoint/v2026/docs/AccountsAsyncResult.md -sailpoint/v2026/docs/AccountsCollectedForAggregation.md -sailpoint/v2026/docs/AccountsCollectedForAggregationSource.md -sailpoint/v2026/docs/AccountsCollectedForAggregationStats.md -sailpoint/v2026/docs/AccountsExportReportArguments.md -sailpoint/v2026/docs/AccountsSelectionRequest.md -sailpoint/v2026/docs/AccountsSelectionResponse.md -sailpoint/v2026/docs/ActivateCampaignOptions.md -sailpoint/v2026/docs/ActivityConfigurationSettings.md -sailpoint/v2026/docs/ActivityIdentity.md -sailpoint/v2026/docs/ActivityInsights.md -sailpoint/v2026/docs/AdditionalOwnerRef.md -sailpoint/v2026/docs/AdminReviewReassign.md -sailpoint/v2026/docs/AdminReviewReassignReassignTo.md -sailpoint/v2026/docs/AggregationResult.md -sailpoint/v2026/docs/AggregationType.md -sailpoint/v2026/docs/Aggregations.md -sailpoint/v2026/docs/ApiUsageApi.md -sailpoint/v2026/docs/App.md -sailpoint/v2026/docs/AppAccountDetails.md -sailpoint/v2026/docs/AppAccountDetailsSourceAccount.md -sailpoint/v2026/docs/AppAllOfAccount.md -sailpoint/v2026/docs/ApplicationCrawlerSettings.md -sailpoint/v2026/docs/ApplicationDiscoveryApi.md -sailpoint/v2026/docs/ApplicationDiscoveryRequest.md -sailpoint/v2026/docs/ApplicationDiscoveryResponse.md -sailpoint/v2026/docs/ApplicationDiscoveryResponseTarget.md -sailpoint/v2026/docs/ApplicationItem.md -sailpoint/v2026/docs/ApplicationType.md -sailpoint/v2026/docs/Approval.md -sailpoint/v2026/docs/Approval1.md -sailpoint/v2026/docs/ApprovalApprovalCriteria.md -sailpoint/v2026/docs/ApprovalApprovalCriteriaApproval.md -sailpoint/v2026/docs/ApprovalApprovalCriteriaRejection.md -sailpoint/v2026/docs/ApprovalApproveRequest.md -sailpoint/v2026/docs/ApprovalAttributesRequest.md -sailpoint/v2026/docs/ApprovalBatch.md -sailpoint/v2026/docs/ApprovalCancelRequest.md -sailpoint/v2026/docs/ApprovalComment.md -sailpoint/v2026/docs/ApprovalComment1.md -sailpoint/v2026/docs/ApprovalComment2.md -sailpoint/v2026/docs/ApprovalCommentsRequest.md -sailpoint/v2026/docs/ApprovalConfig.md -sailpoint/v2026/docs/ApprovalConfigCronTimezone.md -sailpoint/v2026/docs/ApprovalConfigEscalationConfig.md -sailpoint/v2026/docs/ApprovalConfigEscalationConfigEscalationChainInner.md -sailpoint/v2026/docs/ApprovalConfigReminderConfig.md -sailpoint/v2026/docs/ApprovalConfigSerialChainInner.md -sailpoint/v2026/docs/ApprovalConfigTimeoutConfig.md -sailpoint/v2026/docs/ApprovalDescription.md -sailpoint/v2026/docs/ApprovalDetails.md -sailpoint/v2026/docs/ApprovalForwardHistory.md -sailpoint/v2026/docs/ApprovalIdentity.md -sailpoint/v2026/docs/ApprovalIdentityMembersInner.md -sailpoint/v2026/docs/ApprovalIdentityOwnerOfInner.md -sailpoint/v2026/docs/ApprovalIdentityRecord.md -sailpoint/v2026/docs/ApprovalInfoResponse.md -sailpoint/v2026/docs/ApprovalItemDetails.md -sailpoint/v2026/docs/ApprovalItems.md -sailpoint/v2026/docs/ApprovalName.md -sailpoint/v2026/docs/ApprovalReassignRequest.md -sailpoint/v2026/docs/ApprovalReassignmentHistory.md -sailpoint/v2026/docs/ApprovalReference.md -sailpoint/v2026/docs/ApprovalRejectRequest.md -sailpoint/v2026/docs/ApprovalRequestedTarget.md -sailpoint/v2026/docs/ApprovalScheme.md -sailpoint/v2026/docs/ApprovalSchemeForRole.md -sailpoint/v2026/docs/ApprovalStatus.md -sailpoint/v2026/docs/ApprovalStatusDto.md -sailpoint/v2026/docs/ApprovalStatusDtoCurrentOwner.md -sailpoint/v2026/docs/ApprovalStatusDtoOriginalOwner.md -sailpoint/v2026/docs/ApprovalSummary.md -sailpoint/v2026/docs/ApprovalsApi.md -sailpoint/v2026/docs/ApproverDto.md -sailpoint/v2026/docs/ApproverReference.md -sailpoint/v2026/docs/AppsApi.md -sailpoint/v2026/docs/Argument.md -sailpoint/v2026/docs/ArrayInner.md -sailpoint/v2026/docs/ArrayInner1.md -sailpoint/v2026/docs/AssignResourceOwnerRequest.md -sailpoint/v2026/docs/AssignmentContextDto.md -sailpoint/v2026/docs/AttrSyncSource.md -sailpoint/v2026/docs/AttrSyncSourceAttributeConfig.md -sailpoint/v2026/docs/AttrSyncSourceConfig.md -sailpoint/v2026/docs/AttributeChange.md -sailpoint/v2026/docs/AttributeDTO.md -sailpoint/v2026/docs/AttributeDTOList.md -sailpoint/v2026/docs/AttributeDefinition.md -sailpoint/v2026/docs/AttributeDefinitionSchema.md -sailpoint/v2026/docs/AttributeDefinitionType.md -sailpoint/v2026/docs/AttributeMappings.md -sailpoint/v2026/docs/AttributeMappingsAllOfTarget.md -sailpoint/v2026/docs/AttributeMappingsAllOfTransformDefinition.md -sailpoint/v2026/docs/AttributeMappingsAllOfTransformDefinitionAttributes.md -sailpoint/v2026/docs/AttributeMappingsAllOfTransformDefinitionAttributesInput.md -sailpoint/v2026/docs/AttributeMappingsAllOfTransformDefinitionAttributesInputAttributes.md -sailpoint/v2026/docs/AttributeRequest.md -sailpoint/v2026/docs/AttributeRequestValue.md -sailpoint/v2026/docs/AttributeValueDTO.md -sailpoint/v2026/docs/AttributesChanged.md -sailpoint/v2026/docs/AuditDetails.md -sailpoint/v2026/docs/AuthProfile.md -sailpoint/v2026/docs/AuthProfileApi.md -sailpoint/v2026/docs/AuthProfileSummary.md -sailpoint/v2026/docs/AuthUser.md -sailpoint/v2026/docs/AuthUserLevelsIdentityCount.md -sailpoint/v2026/docs/AuthUserSlimResponse.md -sailpoint/v2026/docs/AuthUsersApi.md -sailpoint/v2026/docs/AuthorizationScheme.md -sailpoint/v2026/docs/AutoWriteSetting.md -sailpoint/v2026/docs/AutoWriteSettingPatch.md -sailpoint/v2026/docs/AutoWriteSettingPatchValue.md -sailpoint/v2026/docs/AutoWriteSettingResponse.md -sailpoint/v2026/docs/BackupOptions.md -sailpoint/v2026/docs/BackupOptions1.md -sailpoint/v2026/docs/BackupResponse.md -sailpoint/v2026/docs/BackupResponse1.md -sailpoint/v2026/docs/BaseAccess.md -sailpoint/v2026/docs/BaseAccessOwner.md -sailpoint/v2026/docs/BaseAccessProfile.md -sailpoint/v2026/docs/BaseAccount.md -sailpoint/v2026/docs/BaseCommonDto.md -sailpoint/v2026/docs/BaseCreateApplicationRequest.md -sailpoint/v2026/docs/BaseDocument.md -sailpoint/v2026/docs/BaseEntitlement.md -sailpoint/v2026/docs/BaseReferenceDto.md -sailpoint/v2026/docs/BaseSegment.md -sailpoint/v2026/docs/BaseSettings.md -sailpoint/v2026/docs/BasicAuthConfig.md -sailpoint/v2026/docs/BearerTokenAuthConfig.md -sailpoint/v2026/docs/BeforeProvisioningRuleDto.md -sailpoint/v2026/docs/Bound.md -sailpoint/v2026/docs/BrandingApi.md -sailpoint/v2026/docs/BrandingItem.md -sailpoint/v2026/docs/BrandingItemCreate.md -sailpoint/v2026/docs/BucketAggregation.md -sailpoint/v2026/docs/BucketType.md -sailpoint/v2026/docs/BulkAddTaggedObject.md -sailpoint/v2026/docs/BulkApproveAccessRequest.md -sailpoint/v2026/docs/BulkApproveRequestDTO.md -sailpoint/v2026/docs/BulkCancelAccessRequest.md -sailpoint/v2026/docs/BulkCancelRequestDTO.md -sailpoint/v2026/docs/BulkIdentitiesAccountsResponse.md -sailpoint/v2026/docs/BulkReassignRequestDTO.md -sailpoint/v2026/docs/BulkRejectRequestDTO.md -sailpoint/v2026/docs/BulkRemoveTaggedObject.md -sailpoint/v2026/docs/BulkTaggedObjectResponse.md -sailpoint/v2026/docs/BusinessServiceType.md -sailpoint/v2026/docs/Campaign.md -sailpoint/v2026/docs/CampaignActivated.md -sailpoint/v2026/docs/CampaignActivatedCampaign.md -sailpoint/v2026/docs/CampaignActivatedCampaignCampaignOwner.md -sailpoint/v2026/docs/CampaignAlert.md -sailpoint/v2026/docs/CampaignAllOfFilter.md -sailpoint/v2026/docs/CampaignAllOfMachineAccountCampaignInfo.md -sailpoint/v2026/docs/CampaignAllOfRoleCompositionCampaignInfo.md -sailpoint/v2026/docs/CampaignAllOfRoleCompositionCampaignInfoRemediatorRef.md -sailpoint/v2026/docs/CampaignAllOfRoleCompositionCampaignInfoReviewer.md -sailpoint/v2026/docs/CampaignAllOfSearchCampaignInfo.md -sailpoint/v2026/docs/CampaignAllOfSearchCampaignInfoReviewer.md -sailpoint/v2026/docs/CampaignAllOfSourceOwnerCampaignInfo.md -sailpoint/v2026/docs/CampaignAllOfSourcesWithOrphanEntitlements.md -sailpoint/v2026/docs/CampaignCompleteOptions.md -sailpoint/v2026/docs/CampaignEnded.md -sailpoint/v2026/docs/CampaignEndedCampaign.md -sailpoint/v2026/docs/CampaignFilterDetails.md -sailpoint/v2026/docs/CampaignFilterDetailsCriteriaListInner.md -sailpoint/v2026/docs/CampaignGenerated.md -sailpoint/v2026/docs/CampaignGeneratedCampaign.md -sailpoint/v2026/docs/CampaignGeneratedCampaignCampaignOwner.md -sailpoint/v2026/docs/CampaignReference.md -sailpoint/v2026/docs/CampaignReport.md -sailpoint/v2026/docs/CampaignReportsConfig.md -sailpoint/v2026/docs/CampaignTemplate.md -sailpoint/v2026/docs/CampaignTemplateOwnerRef.md -sailpoint/v2026/docs/CampaignsDeleteRequest.md -sailpoint/v2026/docs/CancelAccessRequest.md -sailpoint/v2026/docs/CancelledRequestDetails.md -sailpoint/v2026/docs/Certification.md -sailpoint/v2026/docs/CertificationCampaignFiltersApi.md -sailpoint/v2026/docs/CertificationCampaignsApi.md -sailpoint/v2026/docs/CertificationDecision.md -sailpoint/v2026/docs/CertificationDto.md -sailpoint/v2026/docs/CertificationIdentitySummary.md -sailpoint/v2026/docs/CertificationPhase.md -sailpoint/v2026/docs/CertificationReference.md -sailpoint/v2026/docs/CertificationSignedOff.md -sailpoint/v2026/docs/CertificationSignedOffCertification.md -sailpoint/v2026/docs/CertificationSummariesApi.md -sailpoint/v2026/docs/CertificationTask.md -sailpoint/v2026/docs/CertificationsApi.md -sailpoint/v2026/docs/CertifierResponse.md -sailpoint/v2026/docs/ClassifySourceApi.md -sailpoint/v2026/docs/ClientLogConfiguration.md -sailpoint/v2026/docs/ClientLogConfigurationDurationMinutes.md -sailpoint/v2026/docs/ClientLogConfigurationExpiration.md -sailpoint/v2026/docs/ClientType.md -sailpoint/v2026/docs/CloseAccessRequest.md -sailpoint/v2026/docs/ClusterManualUpgrade.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInner.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfiguration.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationCcg.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationCharon.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationOtelAgent.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationRelay.md -sailpoint/v2026/docs/ClusterManualUpgradeJobsInnerManagedProcessConfigurationToolbox.md -sailpoint/v2026/docs/Column.md -sailpoint/v2026/docs/Comment.md -sailpoint/v2026/docs/CommentDto.md -sailpoint/v2026/docs/CommentDtoAuthor.md -sailpoint/v2026/docs/CommonAccessIDStatus.md -sailpoint/v2026/docs/CommonAccessItemAccess.md -sailpoint/v2026/docs/CommonAccessItemRequest.md -sailpoint/v2026/docs/CommonAccessItemResponse.md -sailpoint/v2026/docs/CommonAccessItemState.md -sailpoint/v2026/docs/CommonAccessResponse.md -sailpoint/v2026/docs/CommonAccessType.md -sailpoint/v2026/docs/CompleteInvocation.md -sailpoint/v2026/docs/CompleteInvocationInput.md -sailpoint/v2026/docs/CompletedApproval.md -sailpoint/v2026/docs/CompletedApprovalPreApprovalTriggerResult.md -sailpoint/v2026/docs/CompletedApprovalRequesterComment.md -sailpoint/v2026/docs/CompletedApprovalReviewerComment.md -sailpoint/v2026/docs/CompletedApprovalState.md -sailpoint/v2026/docs/CompletionStatus.md -sailpoint/v2026/docs/ConditionEffect.md -sailpoint/v2026/docs/ConditionEffectConfig.md -sailpoint/v2026/docs/ConditionRule.md -sailpoint/v2026/docs/ConfigObject.md -sailpoint/v2026/docs/ConfigType.md -sailpoint/v2026/docs/ConfigTypeEnum.md -sailpoint/v2026/docs/ConfigTypeEnumCamel.md -sailpoint/v2026/docs/ConfigurationDetailsResponse.md -sailpoint/v2026/docs/ConfigurationHubApi.md -sailpoint/v2026/docs/ConfigurationItemRequest.md -sailpoint/v2026/docs/ConfigurationItemResponse.md -sailpoint/v2026/docs/ConfigurationResponse.md -sailpoint/v2026/docs/ConflictingAccessCriteria.md -sailpoint/v2026/docs/ConnectedObject.md -sailpoint/v2026/docs/ConnectedObjectType.md -sailpoint/v2026/docs/ConnectorCustomizerCreateRequest.md -sailpoint/v2026/docs/ConnectorCustomizerCreateResponse.md -sailpoint/v2026/docs/ConnectorCustomizerUpdateRequest.md -sailpoint/v2026/docs/ConnectorCustomizerUpdateResponse.md -sailpoint/v2026/docs/ConnectorCustomizerVersionCreateResponse.md -sailpoint/v2026/docs/ConnectorCustomizersApi.md -sailpoint/v2026/docs/ConnectorCustomizersResponse.md -sailpoint/v2026/docs/ConnectorDetail.md -sailpoint/v2026/docs/ConnectorRuleCreateRequest.md -sailpoint/v2026/docs/ConnectorRuleCreateRequestSignature.md -sailpoint/v2026/docs/ConnectorRuleManagementApi.md -sailpoint/v2026/docs/ConnectorRuleResponse.md -sailpoint/v2026/docs/ConnectorRuleUpdateRequest.md -sailpoint/v2026/docs/ConnectorRuleValidationResponse.md -sailpoint/v2026/docs/ConnectorRuleValidationResponseDetailsInner.md -sailpoint/v2026/docs/ConnectorsApi.md -sailpoint/v2026/docs/ContextAttributeDto.md -sailpoint/v2026/docs/ContextAttributeDtoValue.md -sailpoint/v2026/docs/CorrelatedGovernanceEvent.md -sailpoint/v2026/docs/CorrelationConfig.md -sailpoint/v2026/docs/CorrelationConfigAttributeAssignmentsInner.md -sailpoint/v2026/docs/CrawlResourcesSizesOptions.md -sailpoint/v2026/docs/CreateDomainDkim405Response.md -sailpoint/v2026/docs/CreateExternalExecuteWorkflow200Response.md -sailpoint/v2026/docs/CreateExternalExecuteWorkflowRequest.md -sailpoint/v2026/docs/CreateFormDefinitionFileRequestRequest.md -sailpoint/v2026/docs/CreateFormDefinitionRequest.md -sailpoint/v2026/docs/CreateFormInstanceRequest.md -sailpoint/v2026/docs/CreateMachineAccountSubtypeRequest.md -sailpoint/v2026/docs/CreateOAuthClientRequest.md -sailpoint/v2026/docs/CreateOAuthClientResponse.md -sailpoint/v2026/docs/CreatePersonalAccessTokenRequest.md -sailpoint/v2026/docs/CreatePersonalAccessTokenResponse.md -sailpoint/v2026/docs/CreatePrivilegeCriteriaRequest.md -sailpoint/v2026/docs/CreatePrivilegeCriteriaRequestGroupsInner.md -sailpoint/v2026/docs/CreatePrivilegeCriteriaRequestGroupsInnerCriteriaItemsInner.md -sailpoint/v2026/docs/CreateSavedSearchRequest.md -sailpoint/v2026/docs/CreateScheduleRequest.md -sailpoint/v2026/docs/CreateScheduledSearchRequest.md -sailpoint/v2026/docs/CreateStreamDeliveryRequest.md -sailpoint/v2026/docs/CreateStreamRequest.md -sailpoint/v2026/docs/CreateUploadedConfigurationRequest.md -sailpoint/v2026/docs/CreateWorkflowRequest.md -sailpoint/v2026/docs/CriteriaType.md -sailpoint/v2026/docs/CustomFormsApi.md -sailpoint/v2026/docs/CustomPasswordInstruction.md -sailpoint/v2026/docs/CustomPasswordInstructionsApi.md -sailpoint/v2026/docs/CustomUserLevelsApi.md -sailpoint/v2026/docs/DataAccess.md -sailpoint/v2026/docs/DataAccessCategoriesInner.md -sailpoint/v2026/docs/DataAccessImpactScore.md -sailpoint/v2026/docs/DataAccessPoliciesInner.md -sailpoint/v2026/docs/DataAccessSecurityApi.md -sailpoint/v2026/docs/DataClassificationSettings.md -sailpoint/v2026/docs/DataOwnerModel.md -sailpoint/v2026/docs/DataSegment.md -sailpoint/v2026/docs/DataSegmentationApi.md -sailpoint/v2026/docs/DeclassifySourceApi.md -sailpoint/v2026/docs/DeleteNonEmployeeRecordsInBulkRequest.md -sailpoint/v2026/docs/DeleteSource202Response.md -sailpoint/v2026/docs/DeliveryRequest.md -sailpoint/v2026/docs/DeliveryResponse.md -sailpoint/v2026/docs/DependantAppConnections.md -sailpoint/v2026/docs/DependantAppConnectionsAccountSource.md -sailpoint/v2026/docs/DependantAppConnectionsAccountSourcePasswordPoliciesInner.md -sailpoint/v2026/docs/DependantConnectionsMissingDto.md -sailpoint/v2026/docs/DeployRequest.md -sailpoint/v2026/docs/DeployResponse.md -sailpoint/v2026/docs/Dimension.md -sailpoint/v2026/docs/DimensionAttribute.md -sailpoint/v2026/docs/DimensionBulkDeleteRequest.md -sailpoint/v2026/docs/DimensionCriteriaKey.md -sailpoint/v2026/docs/DimensionCriteriaKeyType.md -sailpoint/v2026/docs/DimensionCriteriaLevel1.md -sailpoint/v2026/docs/DimensionCriteriaLevel2.md -sailpoint/v2026/docs/DimensionCriteriaLevel3.md -sailpoint/v2026/docs/DimensionCriteriaOperation.md -sailpoint/v2026/docs/DimensionMembershipSelector.md -sailpoint/v2026/docs/DimensionMembershipSelectorType.md -sailpoint/v2026/docs/DimensionRef.md -sailpoint/v2026/docs/DimensionSchema.md -sailpoint/v2026/docs/DimensionsApi.md -sailpoint/v2026/docs/DisplayReference.md -sailpoint/v2026/docs/DkimAttributes.md -sailpoint/v2026/docs/DomainAddress.md -sailpoint/v2026/docs/DomainStatusDto.md -sailpoint/v2026/docs/DraftResponse.md -sailpoint/v2026/docs/DtoType.md -sailpoint/v2026/docs/EmailNotificationOption.md -sailpoint/v2026/docs/EmailStatusDto.md -sailpoint/v2026/docs/Entitlement.md -sailpoint/v2026/docs/EntitlementAccessRequestConfig.md -sailpoint/v2026/docs/EntitlementAccessRequestConfigMaxPermittedAccessDuration.md -sailpoint/v2026/docs/EntitlementApprovalScheme.md -sailpoint/v2026/docs/EntitlementAttributeBulkUpdateFilterRequest.md -sailpoint/v2026/docs/EntitlementAttributeBulkUpdateIdsRequest.md -sailpoint/v2026/docs/EntitlementAttributeBulkUpdateQueryRequest.md -sailpoint/v2026/docs/EntitlementBulkUpdateRequest.md -sailpoint/v2026/docs/EntitlementDocument.md -sailpoint/v2026/docs/EntitlementDocumentAllOfManuallyUpdatedFields.md -sailpoint/v2026/docs/EntitlementDocumentAllOfPermissions.md -sailpoint/v2026/docs/EntitlementDocumentAllOfSource.md -sailpoint/v2026/docs/EntitlementPrivilegeLevel.md -sailpoint/v2026/docs/EntitlementRef.md -sailpoint/v2026/docs/EntitlementRequestConfig.md -sailpoint/v2026/docs/EntitlementRevocationRequestConfig.md -sailpoint/v2026/docs/EntitlementSource.md -sailpoint/v2026/docs/EntitlementSourceResetBaseReferenceDto.md -sailpoint/v2026/docs/EntitlementSummary.md -sailpoint/v2026/docs/EntitlementV2.md -sailpoint/v2026/docs/EntitlementV2AccessModelMetadata.md -sailpoint/v2026/docs/EntitlementV2Owner.md -sailpoint/v2026/docs/EntitlementV2PrivilegeLevel.md -sailpoint/v2026/docs/EntitlementV2Source.md -sailpoint/v2026/docs/EntitlementsApi.md -sailpoint/v2026/docs/EntityCreatedByDTO.md -sailpoint/v2026/docs/Error.md -sailpoint/v2026/docs/ErrorMessage.md -sailpoint/v2026/docs/ErrorMessageDto.md -sailpoint/v2026/docs/ErrorMessageDto1.md -sailpoint/v2026/docs/ErrorResponseDto.md -sailpoint/v2026/docs/ErrorResponseDto1.md -sailpoint/v2026/docs/EvaluateResponse.md -sailpoint/v2026/docs/Event.md -sailpoint/v2026/docs/EventActor.md -sailpoint/v2026/docs/EventAttributes.md -sailpoint/v2026/docs/EventBridgeConfig.md -sailpoint/v2026/docs/EventDocument.md -sailpoint/v2026/docs/EventTarget.md -sailpoint/v2026/docs/Examples/python_code_examples_overlay.yaml -sailpoint/v2026/docs/ExceptionAccessCriteria.md -sailpoint/v2026/docs/ExceptionCriteria.md -sailpoint/v2026/docs/ExceptionCriteriaAccess.md -sailpoint/v2026/docs/ExceptionCriteriaCriteriaListInner.md -sailpoint/v2026/docs/ExecutionStatus.md -sailpoint/v2026/docs/ExpansionItem.md -sailpoint/v2026/docs/ExportFormDefinitionsByTenant200ResponseInner.md -sailpoint/v2026/docs/ExportFormDefinitionsByTenant200ResponseInnerSelf.md -sailpoint/v2026/docs/ExportOptions.md -sailpoint/v2026/docs/ExportOptions1.md -sailpoint/v2026/docs/ExportPayload.md -sailpoint/v2026/docs/Expression.md -sailpoint/v2026/docs/ExpressionChildrenInner.md -sailpoint/v2026/docs/ExternalAttributes.md -sailpoint/v2026/docs/FeatureValueDto.md -sailpoint/v2026/docs/FederationProtocolDetails.md -sailpoint/v2026/docs/FieldDetailsDto.md -sailpoint/v2026/docs/Filter.md -sailpoint/v2026/docs/FilterAggregation.md -sailpoint/v2026/docs/FilterType.md -sailpoint/v2026/docs/FormCondition.md -sailpoint/v2026/docs/FormDefinitionDynamicSchemaRequest.md -sailpoint/v2026/docs/FormDefinitionDynamicSchemaRequestAttributes.md -sailpoint/v2026/docs/FormDefinitionDynamicSchemaResponse.md -sailpoint/v2026/docs/FormDefinitionFileUploadResponse.md -sailpoint/v2026/docs/FormDefinitionInput.md -sailpoint/v2026/docs/FormDefinitionResponse.md -sailpoint/v2026/docs/FormDefinitionSelfImportExportDto.md -sailpoint/v2026/docs/FormDetails.md -sailpoint/v2026/docs/FormElement.md -sailpoint/v2026/docs/FormElementDataSourceConfigOptions.md -sailpoint/v2026/docs/FormElementDynamicDataSource.md -sailpoint/v2026/docs/FormElementDynamicDataSourceConfig.md -sailpoint/v2026/docs/FormElementPreviewRequest.md -sailpoint/v2026/docs/FormElementValidationsSet.md -sailpoint/v2026/docs/FormError.md -sailpoint/v2026/docs/FormInstanceCreatedBy.md -sailpoint/v2026/docs/FormInstanceRecipient.md -sailpoint/v2026/docs/FormInstanceResponse.md -sailpoint/v2026/docs/FormItemDetails.md -sailpoint/v2026/docs/FormOwner.md -sailpoint/v2026/docs/FormUsedBy.md -sailpoint/v2026/docs/ForwardApprovalDto.md -sailpoint/v2026/docs/FullDiscoveredApplications.md -sailpoint/v2026/docs/GetAccessRequestConfig401Response.md -sailpoint/v2026/docs/GetAccessRequestConfig429Response.md -sailpoint/v2026/docs/GetActiveCampaigns200ResponseInner.md -sailpoint/v2026/docs/GetCampaign200Response.md -sailpoint/v2026/docs/GetDiscoveredApplications200ResponseInner.md -sailpoint/v2026/docs/GetHistoricalIdentityEvents200ResponseInner.md -sailpoint/v2026/docs/GetLaunchers200Response.md -sailpoint/v2026/docs/GetOAuthClientResponse.md -sailpoint/v2026/docs/GetPersonalAccessTokenResponse.md -sailpoint/v2026/docs/GetRoleAssignments200ResponseInner.md -sailpoint/v2026/docs/GetStream200Response.md -sailpoint/v2026/docs/GetTenantContext200ResponseInner.md -sailpoint/v2026/docs/GlobalTenantSecuritySettingsApi.md -sailpoint/v2026/docs/GovernanceGroupsApi.md -sailpoint/v2026/docs/GrantType.md -sailpoint/v2026/docs/HealthEvent.md -sailpoint/v2026/docs/HealthIndicatorCategory.md -sailpoint/v2026/docs/HierarchicalRightSet.md -sailpoint/v2026/docs/HttpAuthenticationType.md -sailpoint/v2026/docs/HttpConfig.md -sailpoint/v2026/docs/HttpDispatchMode.md -sailpoint/v2026/docs/IAIAccessRequestRecommendationsApi.md -sailpoint/v2026/docs/IAICommonAccessApi.md -sailpoint/v2026/docs/IAIOutliersApi.md -sailpoint/v2026/docs/IAIPeerGroupStrategiesApi.md -sailpoint/v2026/docs/IAIRecommendationsApi.md -sailpoint/v2026/docs/IAIRoleMiningApi.md -sailpoint/v2026/docs/IconsApi.md -sailpoint/v2026/docs/IdentitiesAccountsBulkRequest.md -sailpoint/v2026/docs/IdentitiesApi.md -sailpoint/v2026/docs/IdentitiesDetailsReportArguments.md -sailpoint/v2026/docs/IdentitiesReportArguments.md -sailpoint/v2026/docs/Identity.md -sailpoint/v2026/docs/Identity1.md -sailpoint/v2026/docs/IdentityAccess.md -sailpoint/v2026/docs/IdentityAccountSelections.md -sailpoint/v2026/docs/IdentityAssociationDetails.md -sailpoint/v2026/docs/IdentityAssociationDetailsAssociationDetailsInner.md -sailpoint/v2026/docs/IdentityAttribute.md -sailpoint/v2026/docs/IdentityAttributeConfig.md -sailpoint/v2026/docs/IdentityAttributeNames.md -sailpoint/v2026/docs/IdentityAttributePreview.md -sailpoint/v2026/docs/IdentityAttributeTransform.md -sailpoint/v2026/docs/IdentityAttributesApi.md -sailpoint/v2026/docs/IdentityAttributesChanged.md -sailpoint/v2026/docs/IdentityAttributesChangedChangesInner.md -sailpoint/v2026/docs/IdentityAttributesChangedChangesInnerNewValue.md -sailpoint/v2026/docs/IdentityAttributesChangedChangesInnerOldValue.md -sailpoint/v2026/docs/IdentityAttributesChangedChangesInnerOldValueOneOfValue.md -sailpoint/v2026/docs/IdentityAttributesChangedIdentity.md -sailpoint/v2026/docs/IdentityCertDecisionSummary.md -sailpoint/v2026/docs/IdentityCertificationDto.md -sailpoint/v2026/docs/IdentityCertified.md -sailpoint/v2026/docs/IdentityCompareResponse.md -sailpoint/v2026/docs/IdentityCreated.md -sailpoint/v2026/docs/IdentityCreatedIdentity.md -sailpoint/v2026/docs/IdentityDeleted.md -sailpoint/v2026/docs/IdentityDeletedIdentity.md -sailpoint/v2026/docs/IdentityDocument.md -sailpoint/v2026/docs/IdentityDocumentAllOfIdentityProfile.md -sailpoint/v2026/docs/IdentityDocumentAllOfManager.md -sailpoint/v2026/docs/IdentityDocumentAllOfSource.md -sailpoint/v2026/docs/IdentityEntities.md -sailpoint/v2026/docs/IdentityEntitiesIdentityEntity.md -sailpoint/v2026/docs/IdentityEntitlementDetails.md -sailpoint/v2026/docs/IdentityEntitlementDetailsAccountTarget.md -sailpoint/v2026/docs/IdentityEntitlementDetailsEntitlementDto.md -sailpoint/v2026/docs/IdentityEntitlements.md -sailpoint/v2026/docs/IdentityExceptionReportReference.md -sailpoint/v2026/docs/IdentityHistoryApi.md -sailpoint/v2026/docs/IdentityHistoryResponse.md -sailpoint/v2026/docs/IdentityLifecycleState.md -sailpoint/v2026/docs/IdentityListItem.md -sailpoint/v2026/docs/IdentityManagerRef.md -sailpoint/v2026/docs/IdentityOwnershipAssociationDetails.md -sailpoint/v2026/docs/IdentityOwnershipAssociationDetailsAssociationDetailsInner.md -sailpoint/v2026/docs/IdentityPreviewRequest.md -sailpoint/v2026/docs/IdentityPreviewResponse.md -sailpoint/v2026/docs/IdentityPreviewResponseIdentity.md -sailpoint/v2026/docs/IdentityProfile.md -sailpoint/v2026/docs/IdentityProfileAllOfAuthoritativeSource.md -sailpoint/v2026/docs/IdentityProfileAllOfOwner.md -sailpoint/v2026/docs/IdentityProfileExportedObject.md -sailpoint/v2026/docs/IdentityProfileExportedObjectSelf.md -sailpoint/v2026/docs/IdentityProfileIdentityErrorReportArguments.md -sailpoint/v2026/docs/IdentityProfilesApi.md -sailpoint/v2026/docs/IdentityProfilesConnections.md -sailpoint/v2026/docs/IdentityReference.md -sailpoint/v2026/docs/IdentityReference1.md -sailpoint/v2026/docs/IdentityReferenceWithNameAndEmail.md -sailpoint/v2026/docs/IdentitySnapshotSummaryResponse.md -sailpoint/v2026/docs/IdentitySummary.md -sailpoint/v2026/docs/IdentitySyncJob.md -sailpoint/v2026/docs/IdentitySyncPayload.md -sailpoint/v2026/docs/IdentityWithNewAccess.md -sailpoint/v2026/docs/IdentityWithNewAccessAccessRefsInner.md -sailpoint/v2026/docs/IdpDetails.md -sailpoint/v2026/docs/ImportAccountsRequest.md -sailpoint/v2026/docs/ImportEntitlementsBySourceRequest.md -sailpoint/v2026/docs/ImportEntitlementsRequest.md -sailpoint/v2026/docs/ImportFormDefinitions202Response.md -sailpoint/v2026/docs/ImportFormDefinitions202ResponseErrorsInner.md -sailpoint/v2026/docs/ImportFormDefinitionsRequestInner.md -sailpoint/v2026/docs/ImportNonEmployeeRecordsInBulkRequest.md -sailpoint/v2026/docs/ImportObject.md -sailpoint/v2026/docs/ImportOptions.md -sailpoint/v2026/docs/ImportSpConfigRequest.md -sailpoint/v2026/docs/Index.md -sailpoint/v2026/docs/InnerHit.md -sailpoint/v2026/docs/Int64StringKeyValuePair.md -sailpoint/v2026/docs/InviteIdentitiesRequest.md -sailpoint/v2026/docs/Invocation.md -sailpoint/v2026/docs/InvocationStatus.md -sailpoint/v2026/docs/InvocationStatusType.md -sailpoint/v2026/docs/JITConfiguration.md -sailpoint/v2026/docs/JWK.md -sailpoint/v2026/docs/JWKS.md -sailpoint/v2026/docs/JsonPatch.md -sailpoint/v2026/docs/JsonPatchOperation.md -sailpoint/v2026/docs/JsonPatchOperationRoleMining.md -sailpoint/v2026/docs/JsonPatchOperationRoleMiningValue.md -sailpoint/v2026/docs/KbaAnswerRequestItem.md -sailpoint/v2026/docs/KbaAnswerResponseItem.md -sailpoint/v2026/docs/KbaQuestion.md -sailpoint/v2026/docs/LatestOutlierSummary.md -sailpoint/v2026/docs/Launcher.md -sailpoint/v2026/docs/LauncherOwner.md -sailpoint/v2026/docs/LauncherReference.md -sailpoint/v2026/docs/LauncherRequest.md -sailpoint/v2026/docs/LauncherRequestReference.md -sailpoint/v2026/docs/LaunchersApi.md -sailpoint/v2026/docs/License.md -sailpoint/v2026/docs/LifecycleState.md -sailpoint/v2026/docs/LifecycleStateDto.md -sailpoint/v2026/docs/LifecycleStatesApi.md -sailpoint/v2026/docs/LifecyclestateDeleted.md -sailpoint/v2026/docs/ListCampaignFilters200Response.md -sailpoint/v2026/docs/ListCompleteWorkflowLibrary200ResponseInner.md -sailpoint/v2026/docs/ListDeploys200Response.md -sailpoint/v2026/docs/ListFormDefinitionsByTenantResponse.md -sailpoint/v2026/docs/ListFormElementDataByElementIDResponse.md -sailpoint/v2026/docs/ListFormInstancesByTenantResponse.md -sailpoint/v2026/docs/ListIdentityAccessItems200ResponseInner.md -sailpoint/v2026/docs/ListIdentitySnapshotAccessItems200ResponseInner.md -sailpoint/v2026/docs/ListPredefinedSelectOptionsResponse.md -sailpoint/v2026/docs/ListWorkgroupMembers200ResponseInner.md -sailpoint/v2026/docs/LoadAccountsTask.md -sailpoint/v2026/docs/LoadAccountsTaskTask.md -sailpoint/v2026/docs/LoadAccountsTaskTaskAttributes.md -sailpoint/v2026/docs/LoadAccountsTaskTaskMessagesInner.md -sailpoint/v2026/docs/LoadAccountsTaskTaskReturnsInner.md -sailpoint/v2026/docs/LoadEntitlementTask.md -sailpoint/v2026/docs/LoadEntitlementTaskReturnsInner.md -sailpoint/v2026/docs/LoadUncorrelatedAccountsTask.md -sailpoint/v2026/docs/LoadUncorrelatedAccountsTaskTask.md -sailpoint/v2026/docs/LoadUncorrelatedAccountsTaskTaskAttributes.md -sailpoint/v2026/docs/LoadUncorrelatedAccountsTaskTaskMessagesInner.md -sailpoint/v2026/docs/LocaleOrigin.md -sailpoint/v2026/docs/LocalizedMessage.md -sailpoint/v2026/docs/LockoutConfiguration.md -sailpoint/v2026/docs/LookupStep.md -sailpoint/v2026/docs/MFAConfigurationApi.md -sailpoint/v2026/docs/MachineAccount.md -sailpoint/v2026/docs/MachineAccountClassifyApi.md -sailpoint/v2026/docs/MachineAccountCreateAccessDto.md -sailpoint/v2026/docs/MachineAccountCreateAccessDtoSubtypesInner.md -sailpoint/v2026/docs/MachineAccountCreateRequestInput.md -sailpoint/v2026/docs/MachineAccountCreationRequestApi.md -sailpoint/v2026/docs/MachineAccountMappingsApi.md -sailpoint/v2026/docs/MachineAccountSubtypeConfigDto.md -sailpoint/v2026/docs/MachineAccountSubtypeConfigDtoMachineAccountCreate.md -sailpoint/v2026/docs/MachineAccountSubtypeConfigDtoMachineAccountDelete.md -sailpoint/v2026/docs/MachineAccountSubtypesApi.md -sailpoint/v2026/docs/MachineAccountsApi.md -sailpoint/v2026/docs/MachineClassificationConfig.md -sailpoint/v2026/docs/MachineClassificationConfigApi.md -sailpoint/v2026/docs/MachineClassificationCriteriaLevel1.md -sailpoint/v2026/docs/MachineClassificationCriteriaLevel2.md -sailpoint/v2026/docs/MachineClassificationCriteriaLevel3.md -sailpoint/v2026/docs/MachineClassificationCriteriaOperation.md -sailpoint/v2026/docs/MachineIdentitiesApi.md -sailpoint/v2026/docs/MachineIdentity.md -sailpoint/v2026/docs/MachineIdentityAggregationRequest.md -sailpoint/v2026/docs/MachineIdentityAggregationResponse.md -sailpoint/v2026/docs/MachineIdentityAggregationResponseTarget.md -sailpoint/v2026/docs/MachineIdentityCreated.md -sailpoint/v2026/docs/MachineIdentityCreatedMachineIdentity.md -sailpoint/v2026/docs/MachineIdentityDeleted.md -sailpoint/v2026/docs/MachineIdentityDeletedMachineIdentity.md -sailpoint/v2026/docs/MachineIdentityDtoOwners.md -sailpoint/v2026/docs/MachineIdentityOwnerReference.md -sailpoint/v2026/docs/MachineIdentityRequest.md -sailpoint/v2026/docs/MachineIdentityRequestUserEntitlements.md -sailpoint/v2026/docs/MachineIdentityResponse.md -sailpoint/v2026/docs/MachineIdentityResponseUserEntitlements.md -sailpoint/v2026/docs/MachineIdentitySourceReference.md -sailpoint/v2026/docs/MachineIdentityUpdated.md -sailpoint/v2026/docs/MachineIdentityUpdatedMachineIdentity.md -sailpoint/v2026/docs/MachineIdentityUpdatedOwnerChanges.md -sailpoint/v2026/docs/MachineIdentityUpdatedSingleValueAttributeChangesInner.md -sailpoint/v2026/docs/MachineIdentityUpdatedSingleValueAttributeChangesInnerNewValue.md -sailpoint/v2026/docs/MachineIdentityUpdatedSingleValueAttributeChangesInnerOldValue.md -sailpoint/v2026/docs/MachineIdentityUpdatedUserEntitlementChanges.md -sailpoint/v2026/docs/MachineIdentityUserEntitlementResponse.md -sailpoint/v2026/docs/MachineIdentityUserEntitlementResponseEntitlement.md -sailpoint/v2026/docs/MachineIdentityUserEntitlementResponseSource.md -sailpoint/v2026/docs/MachineIdentityUserEntitlements.md -sailpoint/v2026/docs/MachineSubtypeApprovalConfig.md -sailpoint/v2026/docs/MailFromAttributes.md -sailpoint/v2026/docs/MailFromAttributesDto.md -sailpoint/v2026/docs/ManagedClient.md -sailpoint/v2026/docs/ManagedClientHealthIndicators.md -sailpoint/v2026/docs/ManagedClientHealthIndicatorsBody.md -sailpoint/v2026/docs/ManagedClientHealthIndicatorsBodyHealthIndicators.md -sailpoint/v2026/docs/ManagedClientRequest.md -sailpoint/v2026/docs/ManagedClientStatus.md -sailpoint/v2026/docs/ManagedClientStatusCode.md -sailpoint/v2026/docs/ManagedClientType.md -sailpoint/v2026/docs/ManagedClientsApi.md -sailpoint/v2026/docs/ManagedCluster.md -sailpoint/v2026/docs/ManagedClusterAttributes.md -sailpoint/v2026/docs/ManagedClusterEncryptionConfig.md -sailpoint/v2026/docs/ManagedClusterKeyPair.md -sailpoint/v2026/docs/ManagedClusterQueue.md -sailpoint/v2026/docs/ManagedClusterRedis.md -sailpoint/v2026/docs/ManagedClusterRequest.md -sailpoint/v2026/docs/ManagedClusterType.md -sailpoint/v2026/docs/ManagedClusterTypes.md -sailpoint/v2026/docs/ManagedClusterTypesApi.md -sailpoint/v2026/docs/ManagedClusterUpdatePreferences.md -sailpoint/v2026/docs/ManagedClustersApi.md -sailpoint/v2026/docs/ManagerCorrelationMapping.md -sailpoint/v2026/docs/ManualDiscoverApplications.md -sailpoint/v2026/docs/ManualDiscoverApplicationsTemplate.md -sailpoint/v2026/docs/ManualWorkItemDetails.md -sailpoint/v2026/docs/ManualWorkItemDetailsCurrentOwner.md -sailpoint/v2026/docs/ManualWorkItemDetailsOriginalOwner.md -sailpoint/v2026/docs/ManualWorkItemState.md -sailpoint/v2026/docs/MatchTerm.md -sailpoint/v2026/docs/Medium.md -sailpoint/v2026/docs/MembershipType.md -sailpoint/v2026/docs/Methods/Index.md -sailpoint/v2026/docs/MetricAggregation.md -sailpoint/v2026/docs/MetricResponse.md -sailpoint/v2026/docs/MetricType.md -sailpoint/v2026/docs/MfaConfigTestResponse.md -sailpoint/v2026/docs/MfaDuoConfig.md -sailpoint/v2026/docs/MfaOktaConfig.md -sailpoint/v2026/docs/ModelSchema.md -sailpoint/v2026/docs/MultiHostIntegrationApi.md -sailpoint/v2026/docs/MultiHostIntegrationTemplateType.md -sailpoint/v2026/docs/MultiHostIntegrations.md -sailpoint/v2026/docs/MultiHostIntegrationsAccountsFile.md -sailpoint/v2026/docs/MultiHostIntegrationsAggScheduleUpdate.md -sailpoint/v2026/docs/MultiHostIntegrationsBeforeProvisioningRule.md -sailpoint/v2026/docs/MultiHostIntegrationsConnectorAttributes.md -sailpoint/v2026/docs/MultiHostIntegrationsConnectorAttributesConnectorFileUploadHistory.md -sailpoint/v2026/docs/MultiHostIntegrationsConnectorAttributesMultiHostAttributes.md -sailpoint/v2026/docs/MultiHostIntegrationsCreate.md -sailpoint/v2026/docs/MultiHostIntegrationsCreateSources.md -sailpoint/v2026/docs/MultiHostIntegrationsOwner.md -sailpoint/v2026/docs/MultiHostSources.md -sailpoint/v2026/docs/MultiPolicyRequest.md -sailpoint/v2026/docs/NativeChangeDetectionConfig.md -sailpoint/v2026/docs/NestedAggregation.md -sailpoint/v2026/docs/NestedConfig.md -sailpoint/v2026/docs/NetworkConfiguration.md -sailpoint/v2026/docs/NonEmployeeApprovalDecision.md -sailpoint/v2026/docs/NonEmployeeApprovalItem.md -sailpoint/v2026/docs/NonEmployeeApprovalItemBase.md -sailpoint/v2026/docs/NonEmployeeApprovalItemDetail.md -sailpoint/v2026/docs/NonEmployeeApprovalSummary.md -sailpoint/v2026/docs/NonEmployeeBulkUploadJob.md -sailpoint/v2026/docs/NonEmployeeBulkUploadStatus.md -sailpoint/v2026/docs/NonEmployeeIdentityDtoType.md -sailpoint/v2026/docs/NonEmployeeIdentityReferenceWithId.md -sailpoint/v2026/docs/NonEmployeeIdnUserRequest.md -sailpoint/v2026/docs/NonEmployeeLifecycleManagementApi.md -sailpoint/v2026/docs/NonEmployeeRecord.md -sailpoint/v2026/docs/NonEmployeeRejectApprovalDecision.md -sailpoint/v2026/docs/NonEmployeeRequest.md -sailpoint/v2026/docs/NonEmployeeRequestBody.md -sailpoint/v2026/docs/NonEmployeeRequestLite.md -sailpoint/v2026/docs/NonEmployeeRequestSummary.md -sailpoint/v2026/docs/NonEmployeeRequestWithoutApprovalItem.md -sailpoint/v2026/docs/NonEmployeeSchemaAttribute.md -sailpoint/v2026/docs/NonEmployeeSchemaAttributeBody.md -sailpoint/v2026/docs/NonEmployeeSchemaAttributeType.md -sailpoint/v2026/docs/NonEmployeeSource.md -sailpoint/v2026/docs/NonEmployeeSourceLite.md -sailpoint/v2026/docs/NonEmployeeSourceLiteWithSchemaAttributes.md -sailpoint/v2026/docs/NonEmployeeSourceRequestBody.md -sailpoint/v2026/docs/NonEmployeeSourceWithCloudExternalId.md -sailpoint/v2026/docs/NonEmployeeSourceWithNECount.md -sailpoint/v2026/docs/NotificationTemplateContext.md -sailpoint/v2026/docs/NotificationsApi.md -sailpoint/v2026/docs/OAuthClientsApi.md -sailpoint/v2026/docs/ObjectExportImportNames.md -sailpoint/v2026/docs/ObjectExportImportOptions.md -sailpoint/v2026/docs/ObjectImportResult.md -sailpoint/v2026/docs/ObjectImportResult1.md -sailpoint/v2026/docs/ObjectMappingBulkCreateRequest.md -sailpoint/v2026/docs/ObjectMappingBulkCreateResponse.md -sailpoint/v2026/docs/ObjectMappingBulkPatchRequest.md -sailpoint/v2026/docs/ObjectMappingBulkPatchResponse.md -sailpoint/v2026/docs/ObjectMappingRequest.md -sailpoint/v2026/docs/ObjectMappingResponse.md -sailpoint/v2026/docs/Operation.md -sailpoint/v2026/docs/OrgConfig.md -sailpoint/v2026/docs/OrgConfigApi.md -sailpoint/v2026/docs/OriginalRequest.md -sailpoint/v2026/docs/OrphanIdentitiesReportArguments.md -sailpoint/v2026/docs/Outlier.md -sailpoint/v2026/docs/OutlierContributingFeature.md -sailpoint/v2026/docs/OutlierFeatureSummary.md -sailpoint/v2026/docs/OutlierFeatureSummaryOutlierFeatureDisplayValuesInner.md -sailpoint/v2026/docs/OutlierFeatureTranslation.md -sailpoint/v2026/docs/OutlierSummary.md -sailpoint/v2026/docs/OutlierValueType.md -sailpoint/v2026/docs/OutliersContributingFeatureAccessItems.md -sailpoint/v2026/docs/OwnerDto.md -sailpoint/v2026/docs/OwnerReference.md -sailpoint/v2026/docs/OwnerReferenceSegments.md -sailpoint/v2026/docs/Owns.md -sailpoint/v2026/docs/ParameterStorageApi.md -sailpoint/v2026/docs/ParameterStorageAttestationDocument.md -sailpoint/v2026/docs/ParameterStorageJsonPatch.md -sailpoint/v2026/docs/ParameterStorageNewParameter.md -sailpoint/v2026/docs/ParameterStorageParameter.md -sailpoint/v2026/docs/ParameterStorageReference.md -sailpoint/v2026/docs/ParameterStorageUpdateParameter.md -sailpoint/v2026/docs/PasswordChangeRequest.md -sailpoint/v2026/docs/PasswordChangeResponse.md -sailpoint/v2026/docs/PasswordConfigurationApi.md -sailpoint/v2026/docs/PasswordDictionaryApi.md -sailpoint/v2026/docs/PasswordDigitToken.md -sailpoint/v2026/docs/PasswordDigitTokenReset.md -sailpoint/v2026/docs/PasswordInfo.md -sailpoint/v2026/docs/PasswordInfoAccount.md -sailpoint/v2026/docs/PasswordInfoQueryDTO.md -sailpoint/v2026/docs/PasswordManagementApi.md -sailpoint/v2026/docs/PasswordOrgConfig.md -sailpoint/v2026/docs/PasswordPoliciesApi.md -sailpoint/v2026/docs/PasswordPolicyHoldersDtoAttributes.md -sailpoint/v2026/docs/PasswordPolicyHoldersDtoAttributesIdentityAttrInner.md -sailpoint/v2026/docs/PasswordPolicyHoldersDtoInner.md -sailpoint/v2026/docs/PasswordPolicyV3Dto.md -sailpoint/v2026/docs/PasswordStatus.md -sailpoint/v2026/docs/PasswordSyncGroup.md -sailpoint/v2026/docs/PasswordSyncGroupsApi.md -sailpoint/v2026/docs/PatOwner.md -sailpoint/v2026/docs/PeerGroupMember.md -sailpoint/v2026/docs/PendingApproval.md -sailpoint/v2026/docs/PendingApprovalAction.md -sailpoint/v2026/docs/PendingApprovalOwner.md -sailpoint/v2026/docs/PermissionCollectorSettings.md -sailpoint/v2026/docs/PermissionDto.md -sailpoint/v2026/docs/PersonalAccessTokensApi.md -sailpoint/v2026/docs/PreApprovalTriggerDetails.md -sailpoint/v2026/docs/PreferencesDto.md -sailpoint/v2026/docs/PreviewDataSourceResponse.md -sailpoint/v2026/docs/PrivilegeCriteriaApi.md -sailpoint/v2026/docs/PrivilegeCriteriaConfigDTO.md -sailpoint/v2026/docs/PrivilegeCriteriaConfigurationApi.md -sailpoint/v2026/docs/PrivilegeCriteriaDTO.md -sailpoint/v2026/docs/PrivilegeCriteriaDTOGroupsInner.md -sailpoint/v2026/docs/PrivilegeCriteriaDTOGroupsInnerCriteriaItemsInner.md -sailpoint/v2026/docs/ProcessIdentitiesRequest.md -sailpoint/v2026/docs/ProcessingDetails.md -sailpoint/v2026/docs/Product.md -sailpoint/v2026/docs/ProvisioningCompleted.md -sailpoint/v2026/docs/ProvisioningCompletedAccountRequestsInner.md -sailpoint/v2026/docs/ProvisioningCompletedAccountRequestsInnerAttributeRequestsInner.md -sailpoint/v2026/docs/ProvisioningCompletedAccountRequestsInnerSource.md -sailpoint/v2026/docs/ProvisioningCompletedRecipient.md -sailpoint/v2026/docs/ProvisioningCompletedRequester.md -sailpoint/v2026/docs/ProvisioningConfig.md -sailpoint/v2026/docs/ProvisioningConfigPlanInitializerScript.md -sailpoint/v2026/docs/ProvisioningCriteriaLevel1.md -sailpoint/v2026/docs/ProvisioningCriteriaLevel2.md -sailpoint/v2026/docs/ProvisioningCriteriaLevel3.md -sailpoint/v2026/docs/ProvisioningCriteriaOperation.md -sailpoint/v2026/docs/ProvisioningDetails.md -sailpoint/v2026/docs/ProvisioningPolicy.md -sailpoint/v2026/docs/ProvisioningPolicyDto.md -sailpoint/v2026/docs/ProvisioningState.md -sailpoint/v2026/docs/PublicIdentitiesApi.md -sailpoint/v2026/docs/PublicIdentitiesConfigApi.md -sailpoint/v2026/docs/PublicIdentity.md -sailpoint/v2026/docs/PublicIdentityAttributeConfig.md -sailpoint/v2026/docs/PublicIdentityAttributesInner.md -sailpoint/v2026/docs/PublicIdentityConfig.md -sailpoint/v2026/docs/PutClientLogConfigurationRequest.md -sailpoint/v2026/docs/PutConnectorCorrelationConfigRequest.md -sailpoint/v2026/docs/PutConnectorSourceConfigRequest.md -sailpoint/v2026/docs/PutConnectorSourceTemplateRequest.md -sailpoint/v2026/docs/PutPasswordDictionaryRequest.md -sailpoint/v2026/docs/Query.md -sailpoint/v2026/docs/QueryResultFilter.md -sailpoint/v2026/docs/QueryType.md -sailpoint/v2026/docs/QueuedCheckConfigDetails.md -sailpoint/v2026/docs/Range.md -sailpoint/v2026/docs/ReassignReference.md -sailpoint/v2026/docs/Reassignment.md -sailpoint/v2026/docs/ReassignmentReference.md -sailpoint/v2026/docs/ReassignmentTrailDTO.md -sailpoint/v2026/docs/ReassignmentType.md -sailpoint/v2026/docs/ReassignmentTypeEnum.md -sailpoint/v2026/docs/Recommendation.md -sailpoint/v2026/docs/RecommendationConfigDto.md -sailpoint/v2026/docs/RecommendationRequest.md -sailpoint/v2026/docs/RecommendationRequestDto.md -sailpoint/v2026/docs/RecommendationResponse.md -sailpoint/v2026/docs/RecommendationResponseDto.md -sailpoint/v2026/docs/RecommenderCalculations.md -sailpoint/v2026/docs/RecommenderCalculationsIdentityAttributesValue.md -sailpoint/v2026/docs/ReelectRequest.md -sailpoint/v2026/docs/Ref.md -sailpoint/v2026/docs/Reference.md -sailpoint/v2026/docs/RemediationItemDetails.md -sailpoint/v2026/docs/RemediationItems.md -sailpoint/v2026/docs/ReplaceStreamConfigurationRequest.md -sailpoint/v2026/docs/ReplaceStreamConfigurationRequestDelivery.md -sailpoint/v2026/docs/ReportConfigDTO.md -sailpoint/v2026/docs/ReportDetails.md -sailpoint/v2026/docs/ReportDetailsArguments.md -sailpoint/v2026/docs/ReportResultReference.md -sailpoint/v2026/docs/ReportResults.md -sailpoint/v2026/docs/ReportType.md -sailpoint/v2026/docs/ReportsDataExtractionApi.md -sailpoint/v2026/docs/RequestOnBehalfOfConfig.md -sailpoint/v2026/docs/Requestability.md -sailpoint/v2026/docs/RequestabilityForRole.md -sailpoint/v2026/docs/RequestableObject.md -sailpoint/v2026/docs/RequestableObjectReference.md -sailpoint/v2026/docs/RequestableObjectRequestStatus.md -sailpoint/v2026/docs/RequestableObjectType.md -sailpoint/v2026/docs/RequestableObjectsApi.md -sailpoint/v2026/docs/RequestedAccountRef.md -sailpoint/v2026/docs/RequestedForDtoRef.md -sailpoint/v2026/docs/RequestedItemAccountSelections.md -sailpoint/v2026/docs/RequestedItemDetails.md -sailpoint/v2026/docs/RequestedItemDtoRef.md -sailpoint/v2026/docs/RequestedItemStatus.md -sailpoint/v2026/docs/RequestedItemStatusCancelledRequestDetails.md -sailpoint/v2026/docs/RequestedItemStatusPreApprovalTriggerDetails.md -sailpoint/v2026/docs/RequestedItemStatusProvisioningDetails.md -sailpoint/v2026/docs/RequestedItemStatusRequestState.md -sailpoint/v2026/docs/RequestedItemStatusRequestedFor.md -sailpoint/v2026/docs/RequestedItemStatusRequesterComment.md -sailpoint/v2026/docs/RequestedItemStatusSodViolationContext.md -sailpoint/v2026/docs/ResourceModel.md -sailpoint/v2026/docs/ResourceObject.md -sailpoint/v2026/docs/ResourceObjectsRequest.md -sailpoint/v2026/docs/ResourceObjectsResponse.md -sailpoint/v2026/docs/Result.md -sailpoint/v2026/docs/ReviewDecision.md -sailpoint/v2026/docs/ReviewReassign.md -sailpoint/v2026/docs/ReviewRecommendation.md -sailpoint/v2026/docs/ReviewableAccessProfile.md -sailpoint/v2026/docs/ReviewableEntitlement.md -sailpoint/v2026/docs/ReviewableEntitlementAccount.md -sailpoint/v2026/docs/ReviewableEntitlementAccountOwner.md -sailpoint/v2026/docs/ReviewableRole.md -sailpoint/v2026/docs/Reviewer.md -sailpoint/v2026/docs/Revocability.md -sailpoint/v2026/docs/RevocabilityForRole.md -sailpoint/v2026/docs/RightSetDTO.md -sailpoint/v2026/docs/Role.md -sailpoint/v2026/docs/RoleAssignmentDto.md -sailpoint/v2026/docs/RoleAssignmentDtoAssigner.md -sailpoint/v2026/docs/RoleAssignmentDtoAssignmentContext.md -sailpoint/v2026/docs/RoleAssignmentRef.md -sailpoint/v2026/docs/RoleAssignmentSourceType.md -sailpoint/v2026/docs/RoleBulkDeleteRequest.md -sailpoint/v2026/docs/RoleBulkUpdateResponse.md -sailpoint/v2026/docs/RoleCriteriaKey.md -sailpoint/v2026/docs/RoleCriteriaKeyType.md -sailpoint/v2026/docs/RoleCriteriaLevel1.md -sailpoint/v2026/docs/RoleCriteriaLevel2.md -sailpoint/v2026/docs/RoleCriteriaLevel3.md -sailpoint/v2026/docs/RoleCriteriaOperation.md -sailpoint/v2026/docs/RoleDocument.md -sailpoint/v2026/docs/RoleDocumentAllOfDimensionSchemaAttributes.md -sailpoint/v2026/docs/RoleDocumentAllOfDimensions.md -sailpoint/v2026/docs/RoleDocumentAllOfEntitlements.md -sailpoint/v2026/docs/RoleDocumentAllOfEntitlements1.md -sailpoint/v2026/docs/RoleGetAllBulkUpdateResponse.md -sailpoint/v2026/docs/RoleIdentity.md -sailpoint/v2026/docs/RoleInsight.md -sailpoint/v2026/docs/RoleInsightsApi.md -sailpoint/v2026/docs/RoleInsightsEntitlement.md -sailpoint/v2026/docs/RoleInsightsEntitlementChanges.md -sailpoint/v2026/docs/RoleInsightsIdentities.md -sailpoint/v2026/docs/RoleInsightsInsight.md -sailpoint/v2026/docs/RoleInsightsResponse.md -sailpoint/v2026/docs/RoleInsightsRole.md -sailpoint/v2026/docs/RoleInsightsSummary.md -sailpoint/v2026/docs/RoleListFilterDTO.md -sailpoint/v2026/docs/RoleListFilterDTOAmmKeyValuesInner.md -sailpoint/v2026/docs/RoleMatchDto.md -sailpoint/v2026/docs/RoleMembershipIdentity.md -sailpoint/v2026/docs/RoleMembershipSelector.md -sailpoint/v2026/docs/RoleMembershipSelectorType.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByFilterRequest.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByFilterRequestValuesInner.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByIdRequest.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByIdRequestValuesInner.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByQueryRequest.md -sailpoint/v2026/docs/RoleMetadataBulkUpdateByQueryRequestValuesInner.md -sailpoint/v2026/docs/RoleMiningEntitlement.md -sailpoint/v2026/docs/RoleMiningEntitlementRef.md -sailpoint/v2026/docs/RoleMiningIdentity.md -sailpoint/v2026/docs/RoleMiningIdentityDistribution.md -sailpoint/v2026/docs/RoleMiningIdentityDistributionDistributionInner.md -sailpoint/v2026/docs/RoleMiningPotentialRole.md -sailpoint/v2026/docs/RoleMiningPotentialRoleApplication.md -sailpoint/v2026/docs/RoleMiningPotentialRoleEditEntitlements.md -sailpoint/v2026/docs/RoleMiningPotentialRoleEntitlements.md -sailpoint/v2026/docs/RoleMiningPotentialRoleExportRequest.md -sailpoint/v2026/docs/RoleMiningPotentialRoleExportResponse.md -sailpoint/v2026/docs/RoleMiningPotentialRoleExportState.md -sailpoint/v2026/docs/RoleMiningPotentialRolePotentialRoleRef.md -sailpoint/v2026/docs/RoleMiningPotentialRoleProvisionRequest.md -sailpoint/v2026/docs/RoleMiningPotentialRoleProvisionState.md -sailpoint/v2026/docs/RoleMiningPotentialRoleRef.md -sailpoint/v2026/docs/RoleMiningPotentialRoleSourceUsage.md -sailpoint/v2026/docs/RoleMiningPotentialRoleSummary.md -sailpoint/v2026/docs/RoleMiningPotentialRoleSummaryCreatedBy.md -sailpoint/v2026/docs/RoleMiningRoleType.md -sailpoint/v2026/docs/RoleMiningSessionDraftRoleDto.md -sailpoint/v2026/docs/RoleMiningSessionDto.md -sailpoint/v2026/docs/RoleMiningSessionParametersDto.md -sailpoint/v2026/docs/RoleMiningSessionResponse.md -sailpoint/v2026/docs/RoleMiningSessionResponseCreatedBy.md -sailpoint/v2026/docs/RoleMiningSessionScope.md -sailpoint/v2026/docs/RoleMiningSessionScopingMethod.md -sailpoint/v2026/docs/RoleMiningSessionState.md -sailpoint/v2026/docs/RoleMiningSessionStatus.md -sailpoint/v2026/docs/RolePropagationApi.md -sailpoint/v2026/docs/RolePropagationOngoingResponse.md -sailpoint/v2026/docs/RolePropagationOngoingResponseRolePropagationDetails.md -sailpoint/v2026/docs/RolePropagationResponse.md -sailpoint/v2026/docs/RolePropagationStatusResponse.md -sailpoint/v2026/docs/RolePropagationStatusResponseLaunchedBy.md -sailpoint/v2026/docs/RolePropagationStatusResponseTerminatedBy.md -sailpoint/v2026/docs/RoleSummary.md -sailpoint/v2026/docs/RoleTargetDto.md -sailpoint/v2026/docs/RolesApi.md -sailpoint/v2026/docs/SIMIntegrationsApi.md -sailpoint/v2026/docs/SODPoliciesApi.md -sailpoint/v2026/docs/SODViolationsApi.md -sailpoint/v2026/docs/SPConfigApi.md -sailpoint/v2026/docs/SavedSearch.md -sailpoint/v2026/docs/SavedSearchApi.md -sailpoint/v2026/docs/SavedSearchComplete.md -sailpoint/v2026/docs/SavedSearchCompleteSearchResults.md -sailpoint/v2026/docs/SavedSearchCompleteSearchResultsAccount.md -sailpoint/v2026/docs/SavedSearchCompleteSearchResultsEntitlement.md -sailpoint/v2026/docs/SavedSearchCompleteSearchResultsIdentity.md -sailpoint/v2026/docs/SavedSearchDetail.md -sailpoint/v2026/docs/SavedSearchDetailFilters.md -sailpoint/v2026/docs/SavedSearchName.md -sailpoint/v2026/docs/Schedule.md -sailpoint/v2026/docs/Schedule1.md -sailpoint/v2026/docs/Schedule2.md -sailpoint/v2026/docs/Schedule2Days.md -sailpoint/v2026/docs/Schedule2Hours.md -sailpoint/v2026/docs/Schedule2Months.md -sailpoint/v2026/docs/ScheduleDays.md -sailpoint/v2026/docs/ScheduleHours.md -sailpoint/v2026/docs/ScheduleInfo.md -sailpoint/v2026/docs/ScheduleMonths.md -sailpoint/v2026/docs/ScheduleType.md -sailpoint/v2026/docs/ScheduledActionPayload.md -sailpoint/v2026/docs/ScheduledActionPayloadContent.md -sailpoint/v2026/docs/ScheduledActionPayloadContentBackupOptions.md -sailpoint/v2026/docs/ScheduledActionResponse.md -sailpoint/v2026/docs/ScheduledActionResponseContent.md -sailpoint/v2026/docs/ScheduledActionResponseContentBackupOptions.md -sailpoint/v2026/docs/ScheduledActionResponseContentBackupOptionsObjectOptionsValue.md -sailpoint/v2026/docs/ScheduledAttributes.md -sailpoint/v2026/docs/ScheduledSearch.md -sailpoint/v2026/docs/ScheduledSearchAllOfOwner.md -sailpoint/v2026/docs/ScheduledSearchApi.md -sailpoint/v2026/docs/ScheduledSearchName.md -sailpoint/v2026/docs/Scope.md -sailpoint/v2026/docs/ScopeType.md -sailpoint/v2026/docs/ScopeVisibilityType.md -sailpoint/v2026/docs/Search.md -sailpoint/v2026/docs/SearchAggregationSpecification.md -sailpoint/v2026/docs/SearchApi.md -sailpoint/v2026/docs/SearchArguments.md -sailpoint/v2026/docs/SearchAttributeConfig.md -sailpoint/v2026/docs/SearchAttributeConfigurationApi.md -sailpoint/v2026/docs/SearchCriteria.md -sailpoint/v2026/docs/SearchCriteriaFiltersValue.md -sailpoint/v2026/docs/SearchCriteriaFiltersValueRange.md -sailpoint/v2026/docs/SearchCriteriaFiltersValueRangeLower.md -sailpoint/v2026/docs/SearchCriteriaFiltersValueRangeUpper.md -sailpoint/v2026/docs/SearchCriteriaQuery.md -sailpoint/v2026/docs/SearchCriteriaTextQuery.md -sailpoint/v2026/docs/SearchExportReportArguments.md -sailpoint/v2026/docs/SearchFilterType.md -sailpoint/v2026/docs/SearchFormDefinitionsByTenant400Response.md -sailpoint/v2026/docs/SearchSchedule.md -sailpoint/v2026/docs/SearchScheduleRecipientsInner.md -sailpoint/v2026/docs/SectionDetails.md -sailpoint/v2026/docs/Sed.md -sailpoint/v2026/docs/SedApproval.md -sailpoint/v2026/docs/SedApprovalStatus.md -sailpoint/v2026/docs/SedAssignee.md -sailpoint/v2026/docs/SedAssignment.md -sailpoint/v2026/docs/SedAssignmentResponse.md -sailpoint/v2026/docs/SedBatchRecord.md -sailpoint/v2026/docs/SedBatchRequest.md -sailpoint/v2026/docs/SedBatchResponse.md -sailpoint/v2026/docs/SedBatchStats.md -sailpoint/v2026/docs/SedPatch.md -sailpoint/v2026/docs/Segment.md -sailpoint/v2026/docs/SegmentVisibilityCriteria.md -sailpoint/v2026/docs/SegmentsApi.md -sailpoint/v2026/docs/Selector.md -sailpoint/v2026/docs/SelectorAccountMatchConfig.md -sailpoint/v2026/docs/SelectorAccountMatchConfigMatchExpression.md -sailpoint/v2026/docs/SelfImportExportDto.md -sailpoint/v2026/docs/SendAccountVerificationRequest.md -sailpoint/v2026/docs/SendClassifyMachineAccount200Response.md -sailpoint/v2026/docs/SendClassifyMachineAccountFromSource200Response.md -sailpoint/v2026/docs/SendTestNotificationRequestDto.md -sailpoint/v2026/docs/ServiceDeskIntegrationApi.md -sailpoint/v2026/docs/ServiceDeskIntegrationDto.md -sailpoint/v2026/docs/ServiceDeskIntegrationTemplateDto.md -sailpoint/v2026/docs/ServiceDeskIntegrationTemplateType.md -sailpoint/v2026/docs/ServiceDeskSource.md -sailpoint/v2026/docs/ServiceProviderConfiguration.md -sailpoint/v2026/docs/ServiceProviderConfigurationFederationProtocolDetailsInner.md -sailpoint/v2026/docs/SessionConfiguration.md -sailpoint/v2026/docs/SetIcon200Response.md -sailpoint/v2026/docs/SetIconRequest.md -sailpoint/v2026/docs/SetLifecycleState200Response.md -sailpoint/v2026/docs/SetLifecycleStateRequest.md -sailpoint/v2026/docs/SharedSignalsFrameworkSSFApi.md -sailpoint/v2026/docs/SimIntegrationDetails.md -sailpoint/v2026/docs/SimIntegrationDetailsAllOfBeforeProvisioningRule.md -sailpoint/v2026/docs/SlimCampaign.md -sailpoint/v2026/docs/SlimDiscoveredApplications.md -sailpoint/v2026/docs/SodExemptCriteria.md -sailpoint/v2026/docs/SodPolicy.md -sailpoint/v2026/docs/SodPolicyConflictingAccessCriteria.md -sailpoint/v2026/docs/SodPolicyDto.md -sailpoint/v2026/docs/SodPolicyDto1.md -sailpoint/v2026/docs/SodPolicyOwnerRef.md -sailpoint/v2026/docs/SodPolicySchedule.md -sailpoint/v2026/docs/SodRecipient.md -sailpoint/v2026/docs/SodReportResultDto.md -sailpoint/v2026/docs/SodViolationCheck.md -sailpoint/v2026/docs/SodViolationCheckResult.md -sailpoint/v2026/docs/SodViolationContext.md -sailpoint/v2026/docs/SodViolationContextCheckCompleted.md -sailpoint/v2026/docs/SodViolationContextConflictingAccessCriteria.md -sailpoint/v2026/docs/SodViolationContextConflictingAccessCriteriaLeftCriteria.md -sailpoint/v2026/docs/Source.md -sailpoint/v2026/docs/Source1.md -sailpoint/v2026/docs/SourceAccountCorrelationConfig.md -sailpoint/v2026/docs/SourceAccountCorrelationRule.md -sailpoint/v2026/docs/SourceAccountCreated.md -sailpoint/v2026/docs/SourceAccountDeleted.md -sailpoint/v2026/docs/SourceAccountSelections.md -sailpoint/v2026/docs/SourceAccountUpdated.md -sailpoint/v2026/docs/SourceApp.md -sailpoint/v2026/docs/SourceAppAccountSource.md -sailpoint/v2026/docs/SourceAppBulkUpdateRequest.md -sailpoint/v2026/docs/SourceAppCreateDto.md -sailpoint/v2026/docs/SourceAppCreateDtoAccountSource.md -sailpoint/v2026/docs/SourceAppPatchDto.md -sailpoint/v2026/docs/SourceBeforeProvisioningRule.md -sailpoint/v2026/docs/SourceClassificationStatus.md -sailpoint/v2026/docs/SourceClassificationStatusAllOfCounts.md -sailpoint/v2026/docs/SourceCluster.md -sailpoint/v2026/docs/SourceClusterDto.md -sailpoint/v2026/docs/SourceCode.md -sailpoint/v2026/docs/SourceConnectionsDto.md -sailpoint/v2026/docs/SourceCreated.md -sailpoint/v2026/docs/SourceCreatedActor.md -sailpoint/v2026/docs/SourceCreationErrors.md -sailpoint/v2026/docs/SourceDeleted.md -sailpoint/v2026/docs/SourceDeletedActor.md -sailpoint/v2026/docs/SourceEntitlementRequestConfig.md -sailpoint/v2026/docs/SourceHealthDto.md -sailpoint/v2026/docs/SourceItemRef.md -sailpoint/v2026/docs/SourceManagementWorkgroup.md -sailpoint/v2026/docs/SourceManagerCorrelationMapping.md -sailpoint/v2026/docs/SourceManagerCorrelationRule.md -sailpoint/v2026/docs/SourceOwner.md -sailpoint/v2026/docs/SourcePasswordPoliciesInner.md -sailpoint/v2026/docs/SourceSchedule.md -sailpoint/v2026/docs/SourceSchemasInner.md -sailpoint/v2026/docs/SourceSubtype.md -sailpoint/v2026/docs/SourceSubtypeWithSource.md -sailpoint/v2026/docs/SourceSubtypeWithSourceSource.md -sailpoint/v2026/docs/SourceSyncJob.md -sailpoint/v2026/docs/SourceSyncPayload.md -sailpoint/v2026/docs/SourceUpdated.md -sailpoint/v2026/docs/SourceUpdatedActor.md -sailpoint/v2026/docs/SourceUsage.md -sailpoint/v2026/docs/SourceUsageStatus.md -sailpoint/v2026/docs/SourceUsagesApi.md -sailpoint/v2026/docs/SourcesApi.md -sailpoint/v2026/docs/SpConfigExportJob.md -sailpoint/v2026/docs/SpConfigExportJobStatus.md -sailpoint/v2026/docs/SpConfigExportResults.md -sailpoint/v2026/docs/SpConfigImportJobStatus.md -sailpoint/v2026/docs/SpConfigImportResults.md -sailpoint/v2026/docs/SpConfigJob.md -sailpoint/v2026/docs/SpConfigMessage.md -sailpoint/v2026/docs/SpConfigMessage1.md -sailpoint/v2026/docs/SpConfigObject.md -sailpoint/v2026/docs/SpConfigRule.md -sailpoint/v2026/docs/SpConfigRuleValue.md -sailpoint/v2026/docs/SpConfigRules.md -sailpoint/v2026/docs/SpDetails.md -sailpoint/v2026/docs/StandardLevel.md -sailpoint/v2026/docs/StartApplicationDiscovery403Response.md -sailpoint/v2026/docs/StartApplicationDiscovery403ResponseOneOf.md -sailpoint/v2026/docs/StartInvocationInput.md -sailpoint/v2026/docs/StartLauncher200Response.md -sailpoint/v2026/docs/StatusResponse.md -sailpoint/v2026/docs/StreamConfigResponse.md -sailpoint/v2026/docs/StreamStatusResponse.md -sailpoint/v2026/docs/SubSearchAggregationSpecification.md -sailpoint/v2026/docs/Subscription.md -sailpoint/v2026/docs/SubscriptionPatchRequestInner.md -sailpoint/v2026/docs/SubscriptionPatchRequestInnerValue.md -sailpoint/v2026/docs/SubscriptionPostRequest.md -sailpoint/v2026/docs/SubscriptionPutRequest.md -sailpoint/v2026/docs/SubscriptionType.md -sailpoint/v2026/docs/SuggestedEntitlementDescriptionApi.md -sailpoint/v2026/docs/SummaryResponse.md -sailpoint/v2026/docs/Tag.md -sailpoint/v2026/docs/Tag1.md -sailpoint/v2026/docs/TagTagCategoryRefsInner.md -sailpoint/v2026/docs/TaggedObject.md -sailpoint/v2026/docs/TaggedObjectDto.md -sailpoint/v2026/docs/TaggedObjectsApi.md -sailpoint/v2026/docs/TagsApi.md -sailpoint/v2026/docs/Target.md -sailpoint/v2026/docs/TaskDefinitionSummary.md -sailpoint/v2026/docs/TaskInfo.md -sailpoint/v2026/docs/TaskManagementApi.md -sailpoint/v2026/docs/TaskResultDetails.md -sailpoint/v2026/docs/TaskResultDetailsMessagesInner.md -sailpoint/v2026/docs/TaskResultDetailsReturnsInner.md -sailpoint/v2026/docs/TaskResultDto.md -sailpoint/v2026/docs/TaskResultResponse.md -sailpoint/v2026/docs/TaskResultSimplified.md -sailpoint/v2026/docs/TaskReturnDetails.md -sailpoint/v2026/docs/TaskStatus.md -sailpoint/v2026/docs/TaskStatusMessage.md -sailpoint/v2026/docs/TaskStatusMessageParametersInner.md -sailpoint/v2026/docs/TemplateBulkDeleteDto.md -sailpoint/v2026/docs/TemplateDto.md -sailpoint/v2026/docs/TemplateDtoDefault.md -sailpoint/v2026/docs/TemplateDtoSlackTemplate.md -sailpoint/v2026/docs/TemplateDtoTeamsTemplate.md -sailpoint/v2026/docs/TemplateMediumDto.md -sailpoint/v2026/docs/TemplateSlack.md -sailpoint/v2026/docs/TemplateSlackAutoApprovalData.md -sailpoint/v2026/docs/TemplateSlackCustomFields.md -sailpoint/v2026/docs/TemplateTeams.md -sailpoint/v2026/docs/TemplateVariable.md -sailpoint/v2026/docs/TemplateVariablesDto.md -sailpoint/v2026/docs/Tenant.md -sailpoint/v2026/docs/TenantApi.md -sailpoint/v2026/docs/TenantConfigurationDetails.md -sailpoint/v2026/docs/TenantConfigurationRequest.md -sailpoint/v2026/docs/TenantConfigurationResponse.md -sailpoint/v2026/docs/TenantContextApi.md -sailpoint/v2026/docs/TenantUiMetadataItemResponse.md -sailpoint/v2026/docs/TenantUiMetadataItemUpdateRequest.md -sailpoint/v2026/docs/TestExternalExecuteWorkflow200Response.md -sailpoint/v2026/docs/TestExternalExecuteWorkflowRequest.md -sailpoint/v2026/docs/TestInvocation.md -sailpoint/v2026/docs/TestSourceConnectionMultihost200Response.md -sailpoint/v2026/docs/TestWorkflow200Response.md -sailpoint/v2026/docs/TestWorkflowRequest.md -sailpoint/v2026/docs/TextQuery.md -sailpoint/v2026/docs/Transform.md -sailpoint/v2026/docs/TransformDefinition.md -sailpoint/v2026/docs/TransformRead.md -sailpoint/v2026/docs/TransformsApi.md -sailpoint/v2026/docs/TranslationMessage.md -sailpoint/v2026/docs/TransmitterMetadata.md -sailpoint/v2026/docs/Trigger.md -sailpoint/v2026/docs/TriggerExampleInput.md -sailpoint/v2026/docs/TriggerExampleOutput.md -sailpoint/v2026/docs/TriggerType.md -sailpoint/v2026/docs/TriggersApi.md -sailpoint/v2026/docs/TypeAheadQuery.md -sailpoint/v2026/docs/TypedReference.md -sailpoint/v2026/docs/UIMetadataApi.md -sailpoint/v2026/docs/UncorrelatedAccountsReportArguments.md -sailpoint/v2026/docs/UpdateAccessProfilesInBulk412Response.md -sailpoint/v2026/docs/UpdateDetail.md -sailpoint/v2026/docs/UpdateMultiHostSourcesRequestInner.md -sailpoint/v2026/docs/UpdateMultiHostSourcesRequestInnerValue.md -sailpoint/v2026/docs/UpdateScheduleRequest.md -sailpoint/v2026/docs/UpdateStreamConfigResponse.md -sailpoint/v2026/docs/UpdateStreamConfigurationRequest.md -sailpoint/v2026/docs/UpdateStreamStatusRequest.md -sailpoint/v2026/docs/UsageType.md -sailpoint/v2026/docs/UserApp.md -sailpoint/v2026/docs/UserAppAccount.md -sailpoint/v2026/docs/UserAppOwner.md -sailpoint/v2026/docs/UserAppSource.md -sailpoint/v2026/docs/UserAppSourceApp.md -sailpoint/v2026/docs/UserLevelPublishSummary.md -sailpoint/v2026/docs/UserLevelRequest.md -sailpoint/v2026/docs/UserLevelSummaryDTO.md -sailpoint/v2026/docs/V3ConnectorDto.md -sailpoint/v2026/docs/V3CreateConnectorDto.md -sailpoint/v2026/docs/VAClusterStatusChangeEvent.md -sailpoint/v2026/docs/VAClusterStatusChangeEventApplication.md -sailpoint/v2026/docs/VAClusterStatusChangeEventHealthCheckResult.md -sailpoint/v2026/docs/VAClusterStatusChangeEventPreviousHealthCheckResult.md -sailpoint/v2026/docs/ValidateFilterInputDto.md -sailpoint/v2026/docs/ValidateFilterOutputDto.md -sailpoint/v2026/docs/Value.md -sailpoint/v2026/docs/VerificationRequest.md -sailpoint/v2026/docs/ViolationContext.md -sailpoint/v2026/docs/ViolationContextPolicy.md -sailpoint/v2026/docs/ViolationOwnerAssignmentConfig.md -sailpoint/v2026/docs/ViolationOwnerAssignmentConfigOwnerRef.md -sailpoint/v2026/docs/ViolationPrediction.md -sailpoint/v2026/docs/VisibilityCriteria.md -sailpoint/v2026/docs/WorkItemForward.md -sailpoint/v2026/docs/WorkItemState.md -sailpoint/v2026/docs/WorkItemStateManualWorkItems.md -sailpoint/v2026/docs/WorkItemTypeManualWorkItems.md -sailpoint/v2026/docs/WorkItems.md -sailpoint/v2026/docs/WorkItemsApi.md -sailpoint/v2026/docs/WorkItemsCount.md -sailpoint/v2026/docs/WorkItemsForm.md -sailpoint/v2026/docs/WorkItemsSummary.md -sailpoint/v2026/docs/WorkReassignmentApi.md -sailpoint/v2026/docs/Workflow.md -sailpoint/v2026/docs/WorkflowAllOfCreator.md -sailpoint/v2026/docs/WorkflowBody.md -sailpoint/v2026/docs/WorkflowBodyOwner.md -sailpoint/v2026/docs/WorkflowDefinition.md -sailpoint/v2026/docs/WorkflowExecution.md -sailpoint/v2026/docs/WorkflowExecutionEvent.md -sailpoint/v2026/docs/WorkflowExecutionHistory.md -sailpoint/v2026/docs/WorkflowLibraryAction.md -sailpoint/v2026/docs/WorkflowLibraryActionExampleOutput.md -sailpoint/v2026/docs/WorkflowLibraryFormFields.md -sailpoint/v2026/docs/WorkflowLibraryOperator.md -sailpoint/v2026/docs/WorkflowLibraryTrigger.md -sailpoint/v2026/docs/WorkflowModifiedBy.md -sailpoint/v2026/docs/WorkflowOAuthClient.md -sailpoint/v2026/docs/WorkflowTrigger.md -sailpoint/v2026/docs/WorkflowTriggerAttributes.md -sailpoint/v2026/docs/WorkflowsApi.md -sailpoint/v2026/docs/WorkgroupBulkDeleteRequest.md -sailpoint/v2026/docs/WorkgroupConnectionDto.md -sailpoint/v2026/docs/WorkgroupConnectionDtoObject.md -sailpoint/v2026/docs/WorkgroupDeleteItem.md -sailpoint/v2026/docs/WorkgroupDto.md -sailpoint/v2026/docs/WorkgroupDtoOwner.md -sailpoint/v2026/docs/WorkgroupMemberAddItem.md -sailpoint/v2026/docs/WorkgroupMemberDeleteItem.md -sailpoint/v2026/exceptions.py -sailpoint/v2026/models/__init__.py -sailpoint/v2026/models/access.py -sailpoint/v2026/models/access_action_configuration.py -sailpoint/v2026/models/access_apps.py -sailpoint/v2026/models/access_apps_owner.py -sailpoint/v2026/models/access_constraint.py -sailpoint/v2026/models/access_criteria.py -sailpoint/v2026/models/access_criteria_criteria_list_inner.py -sailpoint/v2026/models/access_duration.py -sailpoint/v2026/models/access_item_access_profile_response.py -sailpoint/v2026/models/access_item_access_profile_response_app_refs_inner.py -sailpoint/v2026/models/access_item_account_response.py -sailpoint/v2026/models/access_item_app_response.py -sailpoint/v2026/models/access_item_approver_dto.py -sailpoint/v2026/models/access_item_associated.py -sailpoint/v2026/models/access_item_associated_access_item.py -sailpoint/v2026/models/access_item_diff.py -sailpoint/v2026/models/access_item_entitlement_response.py -sailpoint/v2026/models/access_item_ref.py -sailpoint/v2026/models/access_item_removed.py -sailpoint/v2026/models/access_item_requested_for.py -sailpoint/v2026/models/access_item_requested_for_dto.py -sailpoint/v2026/models/access_item_requester.py -sailpoint/v2026/models/access_item_requester_dto.py -sailpoint/v2026/models/access_item_reviewed_by.py -sailpoint/v2026/models/access_item_role_response.py -sailpoint/v2026/models/access_model_metadata.py -sailpoint/v2026/models/access_model_metadata_bulk_update_response.py -sailpoint/v2026/models/access_model_metadata_values_inner.py -sailpoint/v2026/models/access_profile.py -sailpoint/v2026/models/access_profile_approval_scheme.py -sailpoint/v2026/models/access_profile_bulk_delete_request.py -sailpoint/v2026/models/access_profile_bulk_delete_response.py -sailpoint/v2026/models/access_profile_bulk_update_request_inner.py -sailpoint/v2026/models/access_profile_details.py -sailpoint/v2026/models/access_profile_details_account_selector.py -sailpoint/v2026/models/access_profile_document.py -sailpoint/v2026/models/access_profile_document_all_of_source.py -sailpoint/v2026/models/access_profile_entitlement.py -sailpoint/v2026/models/access_profile_ref.py -sailpoint/v2026/models/access_profile_role.py -sailpoint/v2026/models/access_profile_source_ref.py -sailpoint/v2026/models/access_profile_summary.py -sailpoint/v2026/models/access_profile_update_item.py -sailpoint/v2026/models/access_profile_usage.py -sailpoint/v2026/models/access_profile_usage_used_by_inner.py -sailpoint/v2026/models/access_recommendation_message.py -sailpoint/v2026/models/access_request.py -sailpoint/v2026/models/access_request_admin_item_status.py -sailpoint/v2026/models/access_request_approvers_list_response.py -sailpoint/v2026/models/access_request_config.py -sailpoint/v2026/models/access_request_context.py -sailpoint/v2026/models/access_request_dynamic_approver.py -sailpoint/v2026/models/access_request_dynamic_approver1.py -sailpoint/v2026/models/access_request_dynamic_approver_requested_items_inner.py -sailpoint/v2026/models/access_request_item.py -sailpoint/v2026/models/access_request_item_response.py -sailpoint/v2026/models/access_request_phases.py -sailpoint/v2026/models/access_request_post_approval.py -sailpoint/v2026/models/access_request_post_approval_requested_items_status_inner.py -sailpoint/v2026/models/access_request_post_approval_requested_items_status_inner_approval_info_inner.py -sailpoint/v2026/models/access_request_post_approval_requested_items_status_inner_approval_info_inner_approver.py -sailpoint/v2026/models/access_request_pre_approval.py -sailpoint/v2026/models/access_request_pre_approval1.py -sailpoint/v2026/models/access_request_pre_approval_requested_items_inner.py -sailpoint/v2026/models/access_request_recommendation_action_item_dto.py -sailpoint/v2026/models/access_request_recommendation_action_item_response_dto.py -sailpoint/v2026/models/access_request_recommendation_config_dto.py -sailpoint/v2026/models/access_request_recommendation_item.py -sailpoint/v2026/models/access_request_recommendation_item_detail.py -sailpoint/v2026/models/access_request_recommendation_item_detail_access.py -sailpoint/v2026/models/access_request_recommendation_item_type.py -sailpoint/v2026/models/access_request_response.py -sailpoint/v2026/models/access_request_response1.py -sailpoint/v2026/models/access_request_tracking.py -sailpoint/v2026/models/access_request_type.py -sailpoint/v2026/models/access_requested.py -sailpoint/v2026/models/access_review_item.py -sailpoint/v2026/models/access_review_reassignment.py -sailpoint/v2026/models/access_summary.py -sailpoint/v2026/models/access_summary_access.py -sailpoint/v2026/models/access_type.py -sailpoint/v2026/models/account.py -sailpoint/v2026/models/account_action.py -sailpoint/v2026/models/account_action_request_dto.py -sailpoint/v2026/models/account_action_request_dto_account_details.py -sailpoint/v2026/models/account_action_request_dto_correlated_identity.py -sailpoint/v2026/models/account_action_request_dto_requester.py -sailpoint/v2026/models/account_activity.py -sailpoint/v2026/models/account_activity_approval_status.py -sailpoint/v2026/models/account_activity_document.py -sailpoint/v2026/models/account_activity_item.py -sailpoint/v2026/models/account_activity_item_operation.py -sailpoint/v2026/models/account_activity_searched_item.py -sailpoint/v2026/models/account_aggregation_completed.py -sailpoint/v2026/models/account_aggregation_completed_source.py -sailpoint/v2026/models/account_aggregation_completed_stats.py -sailpoint/v2026/models/account_aggregation_status.py -sailpoint/v2026/models/account_all_of_identity.py -sailpoint/v2026/models/account_all_of_owner_identity.py -sailpoint/v2026/models/account_all_of_recommendation.py -sailpoint/v2026/models/account_all_of_source_owner.py -sailpoint/v2026/models/account_attributes.py -sailpoint/v2026/models/account_attributes_changed.py -sailpoint/v2026/models/account_attributes_changed_account.py -sailpoint/v2026/models/account_attributes_changed_changes_inner.py -sailpoint/v2026/models/account_attributes_changed_changes_inner_new_value.py -sailpoint/v2026/models/account_attributes_changed_changes_inner_old_value.py -sailpoint/v2026/models/account_attributes_changed_identity.py -sailpoint/v2026/models/account_attributes_changed_source.py -sailpoint/v2026/models/account_attributes_create.py -sailpoint/v2026/models/account_attributes_create_attributes.py -sailpoint/v2026/models/account_correlated.py -sailpoint/v2026/models/account_correlated_account.py -sailpoint/v2026/models/account_correlated_identity.py -sailpoint/v2026/models/account_correlated_source.py -sailpoint/v2026/models/account_created.py -sailpoint/v2026/models/account_created_event.py -sailpoint/v2026/models/account_delete_config_dto.py -sailpoint/v2026/models/account_delete_request_input.py -sailpoint/v2026/models/account_deleted.py -sailpoint/v2026/models/account_deleted_event.py -sailpoint/v2026/models/account_details.py -sailpoint/v2026/models/account_info_dto.py -sailpoint/v2026/models/account_info_ref.py -sailpoint/v2026/models/account_item_ref.py -sailpoint/v2026/models/account_request.py -sailpoint/v2026/models/account_request_async_result.py -sailpoint/v2026/models/account_request_details_dto.py -sailpoint/v2026/models/account_request_details_dto_requester.py -sailpoint/v2026/models/account_request_info.py -sailpoint/v2026/models/account_request_phase.py -sailpoint/v2026/models/account_request_phase_state.py -sailpoint/v2026/models/account_request_result.py -sailpoint/v2026/models/account_source.py -sailpoint/v2026/models/account_source_reference.py -sailpoint/v2026/models/account_source_reference_governance_group.py -sailpoint/v2026/models/account_source_reference_owner.py -sailpoint/v2026/models/account_status_changed.py -sailpoint/v2026/models/account_status_changed_account.py -sailpoint/v2026/models/account_status_changed_status_change.py -sailpoint/v2026/models/account_toggle_request.py -sailpoint/v2026/models/account_uncorrelated.py -sailpoint/v2026/models/account_uncorrelated_account.py -sailpoint/v2026/models/account_uncorrelated_identity.py -sailpoint/v2026/models/account_uncorrelated_source.py -sailpoint/v2026/models/account_unlock_request.py -sailpoint/v2026/models/account_updated.py -sailpoint/v2026/models/account_updated_entitlement_changes_inner.py -sailpoint/v2026/models/account_updated_entitlement_changes_inner_added_inner.py -sailpoint/v2026/models/account_updated_entitlement_changes_inner_added_inner_owner.py -sailpoint/v2026/models/account_updated_event.py -sailpoint/v2026/models/account_updated_multi_value_attribute_changes_inner.py -sailpoint/v2026/models/account_updated_multi_value_attribute_changes_inner_added_values_inner.py -sailpoint/v2026/models/account_updated_single_value_attribute_changes_inner.py -sailpoint/v2026/models/account_updated_single_value_attribute_changes_inner_new_value.py -sailpoint/v2026/models/account_updated_single_value_attribute_changes_inner_old_value.py -sailpoint/v2026/models/account_usage.py -sailpoint/v2026/models/account_v2.py -sailpoint/v2026/models/accounts_async_result.py -sailpoint/v2026/models/accounts_collected_for_aggregation.py -sailpoint/v2026/models/accounts_collected_for_aggregation_source.py -sailpoint/v2026/models/accounts_collected_for_aggregation_stats.py -sailpoint/v2026/models/accounts_export_report_arguments.py -sailpoint/v2026/models/accounts_selection_request.py -sailpoint/v2026/models/accounts_selection_response.py -sailpoint/v2026/models/activate_campaign_options.py -sailpoint/v2026/models/activity_configuration_settings.py -sailpoint/v2026/models/activity_identity.py -sailpoint/v2026/models/activity_insights.py -sailpoint/v2026/models/additional_owner_ref.py -sailpoint/v2026/models/admin_review_reassign.py -sailpoint/v2026/models/admin_review_reassign_reassign_to.py -sailpoint/v2026/models/aggregation_result.py -sailpoint/v2026/models/aggregation_type.py -sailpoint/v2026/models/aggregations.py -sailpoint/v2026/models/app.py -sailpoint/v2026/models/app_account_details.py -sailpoint/v2026/models/app_account_details_source_account.py -sailpoint/v2026/models/app_all_of_account.py -sailpoint/v2026/models/application_crawler_settings.py -sailpoint/v2026/models/application_discovery_request.py -sailpoint/v2026/models/application_discovery_response.py -sailpoint/v2026/models/application_discovery_response_target.py -sailpoint/v2026/models/application_item.py -sailpoint/v2026/models/application_type.py -sailpoint/v2026/models/approval.py -sailpoint/v2026/models/approval1.py -sailpoint/v2026/models/approval_approval_criteria.py -sailpoint/v2026/models/approval_approval_criteria_approval.py -sailpoint/v2026/models/approval_approval_criteria_rejection.py -sailpoint/v2026/models/approval_approve_request.py -sailpoint/v2026/models/approval_attributes_request.py -sailpoint/v2026/models/approval_batch.py -sailpoint/v2026/models/approval_cancel_request.py -sailpoint/v2026/models/approval_comment.py -sailpoint/v2026/models/approval_comment1.py -sailpoint/v2026/models/approval_comment2.py -sailpoint/v2026/models/approval_comments_request.py -sailpoint/v2026/models/approval_config.py -sailpoint/v2026/models/approval_config_cron_timezone.py -sailpoint/v2026/models/approval_config_escalation_config.py -sailpoint/v2026/models/approval_config_escalation_config_escalation_chain_inner.py -sailpoint/v2026/models/approval_config_reminder_config.py -sailpoint/v2026/models/approval_config_serial_chain_inner.py -sailpoint/v2026/models/approval_config_timeout_config.py -sailpoint/v2026/models/approval_description.py -sailpoint/v2026/models/approval_details.py -sailpoint/v2026/models/approval_forward_history.py -sailpoint/v2026/models/approval_identity.py -sailpoint/v2026/models/approval_identity_members_inner.py -sailpoint/v2026/models/approval_identity_owner_of_inner.py -sailpoint/v2026/models/approval_identity_record.py -sailpoint/v2026/models/approval_info_response.py -sailpoint/v2026/models/approval_item_details.py -sailpoint/v2026/models/approval_items.py -sailpoint/v2026/models/approval_name.py -sailpoint/v2026/models/approval_reassign_request.py -sailpoint/v2026/models/approval_reassignment_history.py -sailpoint/v2026/models/approval_reference.py -sailpoint/v2026/models/approval_reject_request.py -sailpoint/v2026/models/approval_requested_target.py -sailpoint/v2026/models/approval_scheme.py -sailpoint/v2026/models/approval_scheme_for_role.py -sailpoint/v2026/models/approval_status.py -sailpoint/v2026/models/approval_status_dto.py -sailpoint/v2026/models/approval_status_dto_current_owner.py -sailpoint/v2026/models/approval_status_dto_original_owner.py -sailpoint/v2026/models/approval_summary.py -sailpoint/v2026/models/approver_dto.py -sailpoint/v2026/models/approver_reference.py -sailpoint/v2026/models/argument.py -sailpoint/v2026/models/array_inner.py -sailpoint/v2026/models/array_inner1.py -sailpoint/v2026/models/assign_resource_owner_request.py -sailpoint/v2026/models/assignment_context_dto.py -sailpoint/v2026/models/attr_sync_source.py -sailpoint/v2026/models/attr_sync_source_attribute_config.py -sailpoint/v2026/models/attr_sync_source_config.py -sailpoint/v2026/models/attribute_change.py -sailpoint/v2026/models/attribute_definition.py -sailpoint/v2026/models/attribute_definition_schema.py -sailpoint/v2026/models/attribute_definition_type.py -sailpoint/v2026/models/attribute_dto.py -sailpoint/v2026/models/attribute_dto_list.py -sailpoint/v2026/models/attribute_mappings.py -sailpoint/v2026/models/attribute_mappings_all_of_target.py -sailpoint/v2026/models/attribute_mappings_all_of_transform_definition.py -sailpoint/v2026/models/attribute_mappings_all_of_transform_definition_attributes.py -sailpoint/v2026/models/attribute_mappings_all_of_transform_definition_attributes_input.py -sailpoint/v2026/models/attribute_mappings_all_of_transform_definition_attributes_input_attributes.py -sailpoint/v2026/models/attribute_request.py -sailpoint/v2026/models/attribute_request_value.py -sailpoint/v2026/models/attribute_value_dto.py -sailpoint/v2026/models/attributes_changed.py -sailpoint/v2026/models/audit_details.py -sailpoint/v2026/models/auth_profile.py -sailpoint/v2026/models/auth_profile_summary.py -sailpoint/v2026/models/auth_user.py -sailpoint/v2026/models/auth_user_levels_identity_count.py -sailpoint/v2026/models/auth_user_slim_response.py -sailpoint/v2026/models/authorization_scheme.py -sailpoint/v2026/models/auto_write_setting.py -sailpoint/v2026/models/auto_write_setting_patch.py -sailpoint/v2026/models/auto_write_setting_patch_value.py -sailpoint/v2026/models/auto_write_setting_response.py -sailpoint/v2026/models/backup_options.py -sailpoint/v2026/models/backup_options1.py -sailpoint/v2026/models/backup_response.py -sailpoint/v2026/models/backup_response1.py -sailpoint/v2026/models/base_access.py -sailpoint/v2026/models/base_access_owner.py -sailpoint/v2026/models/base_access_profile.py -sailpoint/v2026/models/base_account.py -sailpoint/v2026/models/base_common_dto.py -sailpoint/v2026/models/base_create_application_request.py -sailpoint/v2026/models/base_document.py -sailpoint/v2026/models/base_entitlement.py -sailpoint/v2026/models/base_reference_dto.py -sailpoint/v2026/models/base_segment.py -sailpoint/v2026/models/base_settings.py -sailpoint/v2026/models/basic_auth_config.py -sailpoint/v2026/models/bearer_token_auth_config.py -sailpoint/v2026/models/before_provisioning_rule_dto.py -sailpoint/v2026/models/bound.py -sailpoint/v2026/models/branding_item.py -sailpoint/v2026/models/branding_item_create.py -sailpoint/v2026/models/bucket_aggregation.py -sailpoint/v2026/models/bucket_type.py -sailpoint/v2026/models/bulk_add_tagged_object.py -sailpoint/v2026/models/bulk_approve_access_request.py -sailpoint/v2026/models/bulk_approve_request_dto.py -sailpoint/v2026/models/bulk_cancel_access_request.py -sailpoint/v2026/models/bulk_cancel_request_dto.py -sailpoint/v2026/models/bulk_identities_accounts_response.py -sailpoint/v2026/models/bulk_reassign_request_dto.py -sailpoint/v2026/models/bulk_reject_request_dto.py -sailpoint/v2026/models/bulk_remove_tagged_object.py -sailpoint/v2026/models/bulk_tagged_object_response.py -sailpoint/v2026/models/business_service_type.py -sailpoint/v2026/models/campaign.py -sailpoint/v2026/models/campaign_activated.py -sailpoint/v2026/models/campaign_activated_campaign.py -sailpoint/v2026/models/campaign_activated_campaign_campaign_owner.py -sailpoint/v2026/models/campaign_alert.py -sailpoint/v2026/models/campaign_all_of_filter.py -sailpoint/v2026/models/campaign_all_of_machine_account_campaign_info.py -sailpoint/v2026/models/campaign_all_of_role_composition_campaign_info.py -sailpoint/v2026/models/campaign_all_of_role_composition_campaign_info_remediator_ref.py -sailpoint/v2026/models/campaign_all_of_role_composition_campaign_info_reviewer.py -sailpoint/v2026/models/campaign_all_of_search_campaign_info.py -sailpoint/v2026/models/campaign_all_of_search_campaign_info_reviewer.py -sailpoint/v2026/models/campaign_all_of_source_owner_campaign_info.py -sailpoint/v2026/models/campaign_all_of_sources_with_orphan_entitlements.py -sailpoint/v2026/models/campaign_complete_options.py -sailpoint/v2026/models/campaign_ended.py -sailpoint/v2026/models/campaign_ended_campaign.py -sailpoint/v2026/models/campaign_filter_details.py -sailpoint/v2026/models/campaign_filter_details_criteria_list_inner.py -sailpoint/v2026/models/campaign_generated.py -sailpoint/v2026/models/campaign_generated_campaign.py -sailpoint/v2026/models/campaign_generated_campaign_campaign_owner.py -sailpoint/v2026/models/campaign_reference.py -sailpoint/v2026/models/campaign_report.py -sailpoint/v2026/models/campaign_reports_config.py -sailpoint/v2026/models/campaign_template.py -sailpoint/v2026/models/campaign_template_owner_ref.py -sailpoint/v2026/models/campaigns_delete_request.py -sailpoint/v2026/models/cancel_access_request.py -sailpoint/v2026/models/cancelled_request_details.py -sailpoint/v2026/models/certification.py -sailpoint/v2026/models/certification_decision.py -sailpoint/v2026/models/certification_dto.py -sailpoint/v2026/models/certification_identity_summary.py -sailpoint/v2026/models/certification_phase.py -sailpoint/v2026/models/certification_reference.py -sailpoint/v2026/models/certification_signed_off.py -sailpoint/v2026/models/certification_signed_off_certification.py -sailpoint/v2026/models/certification_task.py -sailpoint/v2026/models/certifier_response.py -sailpoint/v2026/models/client_log_configuration.py -sailpoint/v2026/models/client_log_configuration_duration_minutes.py -sailpoint/v2026/models/client_log_configuration_expiration.py -sailpoint/v2026/models/client_type.py -sailpoint/v2026/models/close_access_request.py -sailpoint/v2026/models/cluster_manual_upgrade.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_ccg.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_charon.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_otel_agent.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_relay.py -sailpoint/v2026/models/cluster_manual_upgrade_jobs_inner_managed_process_configuration_toolbox.py -sailpoint/v2026/models/column.py -sailpoint/v2026/models/comment.py -sailpoint/v2026/models/comment_dto.py -sailpoint/v2026/models/comment_dto_author.py -sailpoint/v2026/models/common_access_id_status.py -sailpoint/v2026/models/common_access_item_access.py -sailpoint/v2026/models/common_access_item_request.py -sailpoint/v2026/models/common_access_item_response.py -sailpoint/v2026/models/common_access_item_state.py -sailpoint/v2026/models/common_access_response.py -sailpoint/v2026/models/common_access_type.py -sailpoint/v2026/models/complete_invocation.py -sailpoint/v2026/models/complete_invocation_input.py -sailpoint/v2026/models/completed_approval.py -sailpoint/v2026/models/completed_approval_pre_approval_trigger_result.py -sailpoint/v2026/models/completed_approval_requester_comment.py -sailpoint/v2026/models/completed_approval_reviewer_comment.py -sailpoint/v2026/models/completed_approval_state.py -sailpoint/v2026/models/completion_status.py -sailpoint/v2026/models/condition_effect.py -sailpoint/v2026/models/condition_effect_config.py -sailpoint/v2026/models/condition_rule.py -sailpoint/v2026/models/config_object.py -sailpoint/v2026/models/config_type.py -sailpoint/v2026/models/config_type_enum.py -sailpoint/v2026/models/config_type_enum_camel.py -sailpoint/v2026/models/configuration_details_response.py -sailpoint/v2026/models/configuration_item_request.py -sailpoint/v2026/models/configuration_item_response.py -sailpoint/v2026/models/configuration_response.py -sailpoint/v2026/models/conflicting_access_criteria.py -sailpoint/v2026/models/connected_object.py -sailpoint/v2026/models/connected_object_type.py -sailpoint/v2026/models/connector_customizer_create_request.py -sailpoint/v2026/models/connector_customizer_create_response.py -sailpoint/v2026/models/connector_customizer_update_request.py -sailpoint/v2026/models/connector_customizer_update_response.py -sailpoint/v2026/models/connector_customizer_version_create_response.py -sailpoint/v2026/models/connector_customizers_response.py -sailpoint/v2026/models/connector_detail.py -sailpoint/v2026/models/connector_rule_create_request.py -sailpoint/v2026/models/connector_rule_create_request_signature.py -sailpoint/v2026/models/connector_rule_response.py -sailpoint/v2026/models/connector_rule_update_request.py -sailpoint/v2026/models/connector_rule_validation_response.py -sailpoint/v2026/models/connector_rule_validation_response_details_inner.py -sailpoint/v2026/models/context_attribute_dto.py -sailpoint/v2026/models/context_attribute_dto_value.py -sailpoint/v2026/models/correlated_governance_event.py -sailpoint/v2026/models/correlation_config.py -sailpoint/v2026/models/correlation_config_attribute_assignments_inner.py -sailpoint/v2026/models/crawl_resources_sizes_options.py -sailpoint/v2026/models/create_domain_dkim405_response.py -sailpoint/v2026/models/create_external_execute_workflow200_response.py -sailpoint/v2026/models/create_external_execute_workflow_request.py -sailpoint/v2026/models/create_form_definition_file_request_request.py -sailpoint/v2026/models/create_form_definition_request.py -sailpoint/v2026/models/create_form_instance_request.py -sailpoint/v2026/models/create_machine_account_subtype_request.py -sailpoint/v2026/models/create_o_auth_client_request.py -sailpoint/v2026/models/create_o_auth_client_response.py -sailpoint/v2026/models/create_personal_access_token_request.py -sailpoint/v2026/models/create_personal_access_token_response.py -sailpoint/v2026/models/create_privilege_criteria_request.py -sailpoint/v2026/models/create_privilege_criteria_request_groups_inner.py -sailpoint/v2026/models/create_privilege_criteria_request_groups_inner_criteria_items_inner.py -sailpoint/v2026/models/create_saved_search_request.py -sailpoint/v2026/models/create_schedule_request.py -sailpoint/v2026/models/create_scheduled_search_request.py -sailpoint/v2026/models/create_stream_delivery_request.py -sailpoint/v2026/models/create_stream_request.py -sailpoint/v2026/models/create_uploaded_configuration_request.py -sailpoint/v2026/models/create_workflow_request.py -sailpoint/v2026/models/criteria_type.py -sailpoint/v2026/models/custom_password_instruction.py -sailpoint/v2026/models/data_access.py -sailpoint/v2026/models/data_access_categories_inner.py -sailpoint/v2026/models/data_access_impact_score.py -sailpoint/v2026/models/data_access_policies_inner.py -sailpoint/v2026/models/data_classification_settings.py -sailpoint/v2026/models/data_owner_model.py -sailpoint/v2026/models/data_segment.py -sailpoint/v2026/models/delete_non_employee_records_in_bulk_request.py -sailpoint/v2026/models/delete_source202_response.py -sailpoint/v2026/models/delivery_request.py -sailpoint/v2026/models/delivery_response.py -sailpoint/v2026/models/dependant_app_connections.py -sailpoint/v2026/models/dependant_app_connections_account_source.py -sailpoint/v2026/models/dependant_app_connections_account_source_password_policies_inner.py -sailpoint/v2026/models/dependant_connections_missing_dto.py -sailpoint/v2026/models/deploy_request.py -sailpoint/v2026/models/deploy_response.py -sailpoint/v2026/models/dimension.py -sailpoint/v2026/models/dimension_attribute.py -sailpoint/v2026/models/dimension_bulk_delete_request.py -sailpoint/v2026/models/dimension_criteria_key.py -sailpoint/v2026/models/dimension_criteria_key_type.py -sailpoint/v2026/models/dimension_criteria_level1.py -sailpoint/v2026/models/dimension_criteria_level2.py -sailpoint/v2026/models/dimension_criteria_level3.py -sailpoint/v2026/models/dimension_criteria_operation.py -sailpoint/v2026/models/dimension_membership_selector.py -sailpoint/v2026/models/dimension_membership_selector_type.py -sailpoint/v2026/models/dimension_ref.py -sailpoint/v2026/models/dimension_schema.py -sailpoint/v2026/models/display_reference.py -sailpoint/v2026/models/dkim_attributes.py -sailpoint/v2026/models/domain_address.py -sailpoint/v2026/models/domain_status_dto.py -sailpoint/v2026/models/draft_response.py -sailpoint/v2026/models/dto_type.py -sailpoint/v2026/models/email_notification_option.py -sailpoint/v2026/models/email_status_dto.py -sailpoint/v2026/models/entitlement.py -sailpoint/v2026/models/entitlement_access_request_config.py -sailpoint/v2026/models/entitlement_access_request_config_max_permitted_access_duration.py -sailpoint/v2026/models/entitlement_approval_scheme.py -sailpoint/v2026/models/entitlement_attribute_bulk_update_filter_request.py -sailpoint/v2026/models/entitlement_attribute_bulk_update_ids_request.py -sailpoint/v2026/models/entitlement_attribute_bulk_update_query_request.py -sailpoint/v2026/models/entitlement_bulk_update_request.py -sailpoint/v2026/models/entitlement_document.py -sailpoint/v2026/models/entitlement_document_all_of_manually_updated_fields.py -sailpoint/v2026/models/entitlement_document_all_of_permissions.py -sailpoint/v2026/models/entitlement_document_all_of_source.py -sailpoint/v2026/models/entitlement_privilege_level.py -sailpoint/v2026/models/entitlement_ref.py -sailpoint/v2026/models/entitlement_request_config.py -sailpoint/v2026/models/entitlement_revocation_request_config.py -sailpoint/v2026/models/entitlement_source.py -sailpoint/v2026/models/entitlement_source_reset_base_reference_dto.py -sailpoint/v2026/models/entitlement_summary.py -sailpoint/v2026/models/entitlement_v2.py -sailpoint/v2026/models/entitlement_v2_access_model_metadata.py -sailpoint/v2026/models/entitlement_v2_owner.py -sailpoint/v2026/models/entitlement_v2_privilege_level.py -sailpoint/v2026/models/entitlement_v2_source.py -sailpoint/v2026/models/entity_created_by_dto.py -sailpoint/v2026/models/error.py -sailpoint/v2026/models/error_message.py -sailpoint/v2026/models/error_message_dto.py -sailpoint/v2026/models/error_message_dto1.py -sailpoint/v2026/models/error_response_dto.py -sailpoint/v2026/models/error_response_dto1.py -sailpoint/v2026/models/evaluate_response.py -sailpoint/v2026/models/event.py -sailpoint/v2026/models/event_actor.py -sailpoint/v2026/models/event_attributes.py -sailpoint/v2026/models/event_bridge_config.py -sailpoint/v2026/models/event_document.py -sailpoint/v2026/models/event_target.py -sailpoint/v2026/models/exception_access_criteria.py -sailpoint/v2026/models/exception_criteria.py -sailpoint/v2026/models/exception_criteria_access.py -sailpoint/v2026/models/exception_criteria_criteria_list_inner.py -sailpoint/v2026/models/execution_status.py -sailpoint/v2026/models/expansion_item.py -sailpoint/v2026/models/export_form_definitions_by_tenant200_response_inner.py -sailpoint/v2026/models/export_form_definitions_by_tenant200_response_inner_self.py -sailpoint/v2026/models/export_options.py -sailpoint/v2026/models/export_options1.py -sailpoint/v2026/models/export_payload.py -sailpoint/v2026/models/expression.py -sailpoint/v2026/models/expression_children_inner.py -sailpoint/v2026/models/external_attributes.py -sailpoint/v2026/models/feature_value_dto.py -sailpoint/v2026/models/federation_protocol_details.py -sailpoint/v2026/models/field_details_dto.py -sailpoint/v2026/models/filter.py -sailpoint/v2026/models/filter_aggregation.py -sailpoint/v2026/models/filter_type.py -sailpoint/v2026/models/form_condition.py -sailpoint/v2026/models/form_definition_dynamic_schema_request.py -sailpoint/v2026/models/form_definition_dynamic_schema_request_attributes.py -sailpoint/v2026/models/form_definition_dynamic_schema_response.py -sailpoint/v2026/models/form_definition_file_upload_response.py -sailpoint/v2026/models/form_definition_input.py -sailpoint/v2026/models/form_definition_response.py -sailpoint/v2026/models/form_definition_self_import_export_dto.py -sailpoint/v2026/models/form_details.py -sailpoint/v2026/models/form_element.py -sailpoint/v2026/models/form_element_data_source_config_options.py -sailpoint/v2026/models/form_element_dynamic_data_source.py -sailpoint/v2026/models/form_element_dynamic_data_source_config.py -sailpoint/v2026/models/form_element_preview_request.py -sailpoint/v2026/models/form_element_validations_set.py -sailpoint/v2026/models/form_error.py -sailpoint/v2026/models/form_instance_created_by.py -sailpoint/v2026/models/form_instance_recipient.py -sailpoint/v2026/models/form_instance_response.py -sailpoint/v2026/models/form_item_details.py -sailpoint/v2026/models/form_owner.py -sailpoint/v2026/models/form_used_by.py -sailpoint/v2026/models/forward_approval_dto.py -sailpoint/v2026/models/full_discovered_applications.py -sailpoint/v2026/models/get_access_request_config401_response.py -sailpoint/v2026/models/get_access_request_config429_response.py -sailpoint/v2026/models/get_active_campaigns200_response_inner.py -sailpoint/v2026/models/get_campaign200_response.py -sailpoint/v2026/models/get_discovered_applications200_response_inner.py -sailpoint/v2026/models/get_historical_identity_events200_response_inner.py -sailpoint/v2026/models/get_launchers200_response.py -sailpoint/v2026/models/get_o_auth_client_response.py -sailpoint/v2026/models/get_personal_access_token_response.py -sailpoint/v2026/models/get_role_assignments200_response_inner.py -sailpoint/v2026/models/get_stream200_response.py -sailpoint/v2026/models/get_tenant_context200_response_inner.py -sailpoint/v2026/models/grant_type.py -sailpoint/v2026/models/health_event.py -sailpoint/v2026/models/health_indicator_category.py -sailpoint/v2026/models/hierarchical_right_set.py -sailpoint/v2026/models/http_authentication_type.py -sailpoint/v2026/models/http_config.py -sailpoint/v2026/models/http_dispatch_mode.py -sailpoint/v2026/models/identities_accounts_bulk_request.py -sailpoint/v2026/models/identities_details_report_arguments.py -sailpoint/v2026/models/identities_report_arguments.py -sailpoint/v2026/models/identity.py -sailpoint/v2026/models/identity1.py -sailpoint/v2026/models/identity_access.py -sailpoint/v2026/models/identity_account_selections.py -sailpoint/v2026/models/identity_association_details.py -sailpoint/v2026/models/identity_association_details_association_details_inner.py -sailpoint/v2026/models/identity_attribute.py -sailpoint/v2026/models/identity_attribute_config.py -sailpoint/v2026/models/identity_attribute_names.py -sailpoint/v2026/models/identity_attribute_preview.py -sailpoint/v2026/models/identity_attribute_transform.py -sailpoint/v2026/models/identity_attributes_changed.py -sailpoint/v2026/models/identity_attributes_changed_changes_inner.py -sailpoint/v2026/models/identity_attributes_changed_changes_inner_new_value.py -sailpoint/v2026/models/identity_attributes_changed_changes_inner_old_value.py -sailpoint/v2026/models/identity_attributes_changed_changes_inner_old_value_one_of_value.py -sailpoint/v2026/models/identity_attributes_changed_identity.py -sailpoint/v2026/models/identity_cert_decision_summary.py -sailpoint/v2026/models/identity_certification_dto.py -sailpoint/v2026/models/identity_certified.py -sailpoint/v2026/models/identity_compare_response.py -sailpoint/v2026/models/identity_created.py -sailpoint/v2026/models/identity_created_identity.py -sailpoint/v2026/models/identity_deleted.py -sailpoint/v2026/models/identity_deleted_identity.py -sailpoint/v2026/models/identity_document.py -sailpoint/v2026/models/identity_document_all_of_identity_profile.py -sailpoint/v2026/models/identity_document_all_of_manager.py -sailpoint/v2026/models/identity_document_all_of_source.py -sailpoint/v2026/models/identity_entities.py -sailpoint/v2026/models/identity_entities_identity_entity.py -sailpoint/v2026/models/identity_entitlement_details.py -sailpoint/v2026/models/identity_entitlement_details_account_target.py -sailpoint/v2026/models/identity_entitlement_details_entitlement_dto.py -sailpoint/v2026/models/identity_entitlements.py -sailpoint/v2026/models/identity_exception_report_reference.py -sailpoint/v2026/models/identity_history_response.py -sailpoint/v2026/models/identity_lifecycle_state.py -sailpoint/v2026/models/identity_list_item.py -sailpoint/v2026/models/identity_manager_ref.py -sailpoint/v2026/models/identity_ownership_association_details.py -sailpoint/v2026/models/identity_ownership_association_details_association_details_inner.py -sailpoint/v2026/models/identity_preview_request.py -sailpoint/v2026/models/identity_preview_response.py -sailpoint/v2026/models/identity_preview_response_identity.py -sailpoint/v2026/models/identity_profile.py -sailpoint/v2026/models/identity_profile_all_of_authoritative_source.py -sailpoint/v2026/models/identity_profile_all_of_owner.py -sailpoint/v2026/models/identity_profile_exported_object.py -sailpoint/v2026/models/identity_profile_exported_object_self.py -sailpoint/v2026/models/identity_profile_identity_error_report_arguments.py -sailpoint/v2026/models/identity_profiles_connections.py -sailpoint/v2026/models/identity_reference.py -sailpoint/v2026/models/identity_reference1.py -sailpoint/v2026/models/identity_reference_with_name_and_email.py -sailpoint/v2026/models/identity_snapshot_summary_response.py -sailpoint/v2026/models/identity_summary.py -sailpoint/v2026/models/identity_sync_job.py -sailpoint/v2026/models/identity_sync_payload.py -sailpoint/v2026/models/identity_with_new_access.py -sailpoint/v2026/models/identity_with_new_access_access_refs_inner.py -sailpoint/v2026/models/idp_details.py -sailpoint/v2026/models/import_accounts_request.py -sailpoint/v2026/models/import_entitlements_by_source_request.py -sailpoint/v2026/models/import_entitlements_request.py -sailpoint/v2026/models/import_form_definitions202_response.py -sailpoint/v2026/models/import_form_definitions202_response_errors_inner.py -sailpoint/v2026/models/import_form_definitions_request_inner.py -sailpoint/v2026/models/import_non_employee_records_in_bulk_request.py -sailpoint/v2026/models/import_object.py -sailpoint/v2026/models/import_options.py -sailpoint/v2026/models/import_sp_config_request.py -sailpoint/v2026/models/index.py -sailpoint/v2026/models/inner_hit.py -sailpoint/v2026/models/int64_string_key_value_pair.py -sailpoint/v2026/models/invite_identities_request.py -sailpoint/v2026/models/invocation.py -sailpoint/v2026/models/invocation_status.py -sailpoint/v2026/models/invocation_status_type.py -sailpoint/v2026/models/jit_configuration.py -sailpoint/v2026/models/json_patch.py -sailpoint/v2026/models/json_patch_operation.py -sailpoint/v2026/models/json_patch_operation_role_mining.py -sailpoint/v2026/models/json_patch_operation_role_mining_value.py -sailpoint/v2026/models/jwk.py -sailpoint/v2026/models/jwks.py -sailpoint/v2026/models/kba_answer_request_item.py -sailpoint/v2026/models/kba_answer_response_item.py -sailpoint/v2026/models/kba_question.py -sailpoint/v2026/models/latest_outlier_summary.py -sailpoint/v2026/models/launcher.py -sailpoint/v2026/models/launcher_owner.py -sailpoint/v2026/models/launcher_reference.py -sailpoint/v2026/models/launcher_request.py -sailpoint/v2026/models/launcher_request_reference.py -sailpoint/v2026/models/license.py -sailpoint/v2026/models/lifecycle_state.py -sailpoint/v2026/models/lifecycle_state_dto.py -sailpoint/v2026/models/lifecyclestate_deleted.py -sailpoint/v2026/models/list_campaign_filters200_response.py -sailpoint/v2026/models/list_complete_workflow_library200_response_inner.py -sailpoint/v2026/models/list_deploys200_response.py -sailpoint/v2026/models/list_form_definitions_by_tenant_response.py -sailpoint/v2026/models/list_form_element_data_by_element_id_response.py -sailpoint/v2026/models/list_form_instances_by_tenant_response.py -sailpoint/v2026/models/list_identity_access_items200_response_inner.py -sailpoint/v2026/models/list_identity_snapshot_access_items200_response_inner.py -sailpoint/v2026/models/list_predefined_select_options_response.py -sailpoint/v2026/models/list_workgroup_members200_response_inner.py -sailpoint/v2026/models/load_accounts_task.py -sailpoint/v2026/models/load_accounts_task_task.py -sailpoint/v2026/models/load_accounts_task_task_attributes.py -sailpoint/v2026/models/load_accounts_task_task_messages_inner.py -sailpoint/v2026/models/load_accounts_task_task_returns_inner.py -sailpoint/v2026/models/load_entitlement_task.py -sailpoint/v2026/models/load_entitlement_task_returns_inner.py -sailpoint/v2026/models/load_uncorrelated_accounts_task.py -sailpoint/v2026/models/load_uncorrelated_accounts_task_task.py -sailpoint/v2026/models/load_uncorrelated_accounts_task_task_attributes.py -sailpoint/v2026/models/load_uncorrelated_accounts_task_task_messages_inner.py -sailpoint/v2026/models/locale_origin.py -sailpoint/v2026/models/localized_message.py -sailpoint/v2026/models/lockout_configuration.py -sailpoint/v2026/models/lookup_step.py -sailpoint/v2026/models/machine_account.py -sailpoint/v2026/models/machine_account_create_access_dto.py -sailpoint/v2026/models/machine_account_create_access_dto_subtypes_inner.py -sailpoint/v2026/models/machine_account_create_request_input.py -sailpoint/v2026/models/machine_account_subtype_config_dto.py -sailpoint/v2026/models/machine_account_subtype_config_dto_machine_account_create.py -sailpoint/v2026/models/machine_account_subtype_config_dto_machine_account_delete.py -sailpoint/v2026/models/machine_classification_config.py -sailpoint/v2026/models/machine_classification_criteria_level1.py -sailpoint/v2026/models/machine_classification_criteria_level2.py -sailpoint/v2026/models/machine_classification_criteria_level3.py -sailpoint/v2026/models/machine_classification_criteria_operation.py -sailpoint/v2026/models/machine_identity.py -sailpoint/v2026/models/machine_identity_aggregation_request.py -sailpoint/v2026/models/machine_identity_aggregation_response.py -sailpoint/v2026/models/machine_identity_aggregation_response_target.py -sailpoint/v2026/models/machine_identity_created.py -sailpoint/v2026/models/machine_identity_created_machine_identity.py -sailpoint/v2026/models/machine_identity_deleted.py -sailpoint/v2026/models/machine_identity_deleted_machine_identity.py -sailpoint/v2026/models/machine_identity_dto_owners.py -sailpoint/v2026/models/machine_identity_owner_reference.py -sailpoint/v2026/models/machine_identity_request.py -sailpoint/v2026/models/machine_identity_request_user_entitlements.py -sailpoint/v2026/models/machine_identity_response.py -sailpoint/v2026/models/machine_identity_response_user_entitlements.py -sailpoint/v2026/models/machine_identity_source_reference.py -sailpoint/v2026/models/machine_identity_updated.py -sailpoint/v2026/models/machine_identity_updated_machine_identity.py -sailpoint/v2026/models/machine_identity_updated_owner_changes.py -sailpoint/v2026/models/machine_identity_updated_single_value_attribute_changes_inner.py -sailpoint/v2026/models/machine_identity_updated_single_value_attribute_changes_inner_new_value.py -sailpoint/v2026/models/machine_identity_updated_single_value_attribute_changes_inner_old_value.py -sailpoint/v2026/models/machine_identity_updated_user_entitlement_changes.py -sailpoint/v2026/models/machine_identity_user_entitlement_response.py -sailpoint/v2026/models/machine_identity_user_entitlement_response_entitlement.py -sailpoint/v2026/models/machine_identity_user_entitlement_response_source.py -sailpoint/v2026/models/machine_identity_user_entitlements.py -sailpoint/v2026/models/machine_subtype_approval_config.py -sailpoint/v2026/models/mail_from_attributes.py -sailpoint/v2026/models/mail_from_attributes_dto.py -sailpoint/v2026/models/managed_client.py -sailpoint/v2026/models/managed_client_health_indicators.py -sailpoint/v2026/models/managed_client_health_indicators_body.py -sailpoint/v2026/models/managed_client_health_indicators_body_health_indicators.py -sailpoint/v2026/models/managed_client_request.py -sailpoint/v2026/models/managed_client_status.py -sailpoint/v2026/models/managed_client_status_code.py -sailpoint/v2026/models/managed_client_type.py -sailpoint/v2026/models/managed_cluster.py -sailpoint/v2026/models/managed_cluster_attributes.py -sailpoint/v2026/models/managed_cluster_encryption_config.py -sailpoint/v2026/models/managed_cluster_key_pair.py -sailpoint/v2026/models/managed_cluster_queue.py -sailpoint/v2026/models/managed_cluster_redis.py -sailpoint/v2026/models/managed_cluster_request.py -sailpoint/v2026/models/managed_cluster_type.py -sailpoint/v2026/models/managed_cluster_types.py -sailpoint/v2026/models/managed_cluster_update_preferences.py -sailpoint/v2026/models/manager_correlation_mapping.py -sailpoint/v2026/models/manual_discover_applications.py -sailpoint/v2026/models/manual_discover_applications_template.py -sailpoint/v2026/models/manual_work_item_details.py -sailpoint/v2026/models/manual_work_item_details_current_owner.py -sailpoint/v2026/models/manual_work_item_details_original_owner.py -sailpoint/v2026/models/manual_work_item_state.py -sailpoint/v2026/models/match_term.py -sailpoint/v2026/models/medium.py -sailpoint/v2026/models/membership_type.py -sailpoint/v2026/models/metric_aggregation.py -sailpoint/v2026/models/metric_response.py -sailpoint/v2026/models/metric_type.py -sailpoint/v2026/models/mfa_config_test_response.py -sailpoint/v2026/models/mfa_duo_config.py -sailpoint/v2026/models/mfa_okta_config.py -sailpoint/v2026/models/model_schema.py -sailpoint/v2026/models/multi_host_integration_template_type.py -sailpoint/v2026/models/multi_host_integrations.py -sailpoint/v2026/models/multi_host_integrations_accounts_file.py -sailpoint/v2026/models/multi_host_integrations_agg_schedule_update.py -sailpoint/v2026/models/multi_host_integrations_before_provisioning_rule.py -sailpoint/v2026/models/multi_host_integrations_connector_attributes.py -sailpoint/v2026/models/multi_host_integrations_connector_attributes_connector_file_upload_history.py -sailpoint/v2026/models/multi_host_integrations_connector_attributes_multi_host_attributes.py -sailpoint/v2026/models/multi_host_integrations_create.py -sailpoint/v2026/models/multi_host_integrations_create_sources.py -sailpoint/v2026/models/multi_host_integrations_owner.py -sailpoint/v2026/models/multi_host_sources.py -sailpoint/v2026/models/multi_policy_request.py -sailpoint/v2026/models/native_change_detection_config.py -sailpoint/v2026/models/nested_aggregation.py -sailpoint/v2026/models/nested_config.py -sailpoint/v2026/models/network_configuration.py -sailpoint/v2026/models/non_employee_approval_decision.py -sailpoint/v2026/models/non_employee_approval_item.py -sailpoint/v2026/models/non_employee_approval_item_base.py -sailpoint/v2026/models/non_employee_approval_item_detail.py -sailpoint/v2026/models/non_employee_approval_summary.py -sailpoint/v2026/models/non_employee_bulk_upload_job.py -sailpoint/v2026/models/non_employee_bulk_upload_status.py -sailpoint/v2026/models/non_employee_identity_dto_type.py -sailpoint/v2026/models/non_employee_identity_reference_with_id.py -sailpoint/v2026/models/non_employee_idn_user_request.py -sailpoint/v2026/models/non_employee_record.py -sailpoint/v2026/models/non_employee_reject_approval_decision.py -sailpoint/v2026/models/non_employee_request.py -sailpoint/v2026/models/non_employee_request_body.py -sailpoint/v2026/models/non_employee_request_lite.py -sailpoint/v2026/models/non_employee_request_summary.py -sailpoint/v2026/models/non_employee_request_without_approval_item.py -sailpoint/v2026/models/non_employee_schema_attribute.py -sailpoint/v2026/models/non_employee_schema_attribute_body.py -sailpoint/v2026/models/non_employee_schema_attribute_type.py -sailpoint/v2026/models/non_employee_source.py -sailpoint/v2026/models/non_employee_source_lite.py -sailpoint/v2026/models/non_employee_source_lite_with_schema_attributes.py -sailpoint/v2026/models/non_employee_source_request_body.py -sailpoint/v2026/models/non_employee_source_with_cloud_external_id.py -sailpoint/v2026/models/non_employee_source_with_ne_count.py -sailpoint/v2026/models/notification_template_context.py -sailpoint/v2026/models/object_export_import_names.py -sailpoint/v2026/models/object_export_import_options.py -sailpoint/v2026/models/object_import_result.py -sailpoint/v2026/models/object_import_result1.py -sailpoint/v2026/models/object_mapping_bulk_create_request.py -sailpoint/v2026/models/object_mapping_bulk_create_response.py -sailpoint/v2026/models/object_mapping_bulk_patch_request.py -sailpoint/v2026/models/object_mapping_bulk_patch_response.py -sailpoint/v2026/models/object_mapping_request.py -sailpoint/v2026/models/object_mapping_response.py -sailpoint/v2026/models/operation.py -sailpoint/v2026/models/org_config.py -sailpoint/v2026/models/original_request.py -sailpoint/v2026/models/orphan_identities_report_arguments.py -sailpoint/v2026/models/outlier.py -sailpoint/v2026/models/outlier_contributing_feature.py -sailpoint/v2026/models/outlier_feature_summary.py -sailpoint/v2026/models/outlier_feature_summary_outlier_feature_display_values_inner.py -sailpoint/v2026/models/outlier_feature_translation.py -sailpoint/v2026/models/outlier_summary.py -sailpoint/v2026/models/outlier_value_type.py -sailpoint/v2026/models/outliers_contributing_feature_access_items.py -sailpoint/v2026/models/owner_dto.py -sailpoint/v2026/models/owner_reference.py -sailpoint/v2026/models/owner_reference_segments.py -sailpoint/v2026/models/owns.py -sailpoint/v2026/models/parameter_storage_attestation_document.py -sailpoint/v2026/models/parameter_storage_json_patch.py -sailpoint/v2026/models/parameter_storage_new_parameter.py -sailpoint/v2026/models/parameter_storage_parameter.py -sailpoint/v2026/models/parameter_storage_reference.py -sailpoint/v2026/models/parameter_storage_update_parameter.py -sailpoint/v2026/models/password_change_request.py -sailpoint/v2026/models/password_change_response.py -sailpoint/v2026/models/password_digit_token.py -sailpoint/v2026/models/password_digit_token_reset.py -sailpoint/v2026/models/password_info.py -sailpoint/v2026/models/password_info_account.py -sailpoint/v2026/models/password_info_query_dto.py -sailpoint/v2026/models/password_org_config.py -sailpoint/v2026/models/password_policy_holders_dto_attributes.py -sailpoint/v2026/models/password_policy_holders_dto_attributes_identity_attr_inner.py -sailpoint/v2026/models/password_policy_holders_dto_inner.py -sailpoint/v2026/models/password_policy_v3_dto.py -sailpoint/v2026/models/password_status.py -sailpoint/v2026/models/password_sync_group.py -sailpoint/v2026/models/pat_owner.py -sailpoint/v2026/models/peer_group_member.py -sailpoint/v2026/models/pending_approval.py -sailpoint/v2026/models/pending_approval_action.py -sailpoint/v2026/models/pending_approval_owner.py -sailpoint/v2026/models/permission_collector_settings.py -sailpoint/v2026/models/permission_dto.py -sailpoint/v2026/models/pre_approval_trigger_details.py -sailpoint/v2026/models/preferences_dto.py -sailpoint/v2026/models/preview_data_source_response.py -sailpoint/v2026/models/privilege_criteria_config_dto.py -sailpoint/v2026/models/privilege_criteria_dto.py -sailpoint/v2026/models/privilege_criteria_dto_groups_inner.py -sailpoint/v2026/models/privilege_criteria_dto_groups_inner_criteria_items_inner.py -sailpoint/v2026/models/process_identities_request.py -sailpoint/v2026/models/processing_details.py -sailpoint/v2026/models/product.py -sailpoint/v2026/models/provisioning_completed.py -sailpoint/v2026/models/provisioning_completed_account_requests_inner.py -sailpoint/v2026/models/provisioning_completed_account_requests_inner_attribute_requests_inner.py -sailpoint/v2026/models/provisioning_completed_account_requests_inner_source.py -sailpoint/v2026/models/provisioning_completed_recipient.py -sailpoint/v2026/models/provisioning_completed_requester.py -sailpoint/v2026/models/provisioning_config.py -sailpoint/v2026/models/provisioning_config_plan_initializer_script.py -sailpoint/v2026/models/provisioning_criteria_level1.py -sailpoint/v2026/models/provisioning_criteria_level2.py -sailpoint/v2026/models/provisioning_criteria_level3.py -sailpoint/v2026/models/provisioning_criteria_operation.py -sailpoint/v2026/models/provisioning_details.py -sailpoint/v2026/models/provisioning_policy.py -sailpoint/v2026/models/provisioning_policy_dto.py -sailpoint/v2026/models/provisioning_state.py -sailpoint/v2026/models/public_identity.py -sailpoint/v2026/models/public_identity_attribute_config.py -sailpoint/v2026/models/public_identity_attributes_inner.py -sailpoint/v2026/models/public_identity_config.py -sailpoint/v2026/models/put_client_log_configuration_request.py -sailpoint/v2026/models/put_connector_correlation_config_request.py -sailpoint/v2026/models/put_connector_source_config_request.py -sailpoint/v2026/models/put_connector_source_template_request.py -sailpoint/v2026/models/put_password_dictionary_request.py -sailpoint/v2026/models/query.py -sailpoint/v2026/models/query_result_filter.py -sailpoint/v2026/models/query_type.py -sailpoint/v2026/models/queued_check_config_details.py -sailpoint/v2026/models/range.py -sailpoint/v2026/models/reassign_reference.py -sailpoint/v2026/models/reassignment.py -sailpoint/v2026/models/reassignment_reference.py -sailpoint/v2026/models/reassignment_trail_dto.py -sailpoint/v2026/models/reassignment_type.py -sailpoint/v2026/models/reassignment_type_enum.py -sailpoint/v2026/models/recommendation.py -sailpoint/v2026/models/recommendation_config_dto.py -sailpoint/v2026/models/recommendation_request.py -sailpoint/v2026/models/recommendation_request_dto.py -sailpoint/v2026/models/recommendation_response.py -sailpoint/v2026/models/recommendation_response_dto.py -sailpoint/v2026/models/recommender_calculations.py -sailpoint/v2026/models/recommender_calculations_identity_attributes_value.py -sailpoint/v2026/models/reelect_request.py -sailpoint/v2026/models/ref.py -sailpoint/v2026/models/reference.py -sailpoint/v2026/models/remediation_item_details.py -sailpoint/v2026/models/remediation_items.py -sailpoint/v2026/models/replace_stream_configuration_request.py -sailpoint/v2026/models/replace_stream_configuration_request_delivery.py -sailpoint/v2026/models/report_config_dto.py -sailpoint/v2026/models/report_details.py -sailpoint/v2026/models/report_details_arguments.py -sailpoint/v2026/models/report_result_reference.py -sailpoint/v2026/models/report_results.py -sailpoint/v2026/models/report_type.py -sailpoint/v2026/models/request_on_behalf_of_config.py -sailpoint/v2026/models/requestability.py -sailpoint/v2026/models/requestability_for_role.py -sailpoint/v2026/models/requestable_object.py -sailpoint/v2026/models/requestable_object_reference.py -sailpoint/v2026/models/requestable_object_request_status.py -sailpoint/v2026/models/requestable_object_type.py -sailpoint/v2026/models/requested_account_ref.py -sailpoint/v2026/models/requested_for_dto_ref.py -sailpoint/v2026/models/requested_item_account_selections.py -sailpoint/v2026/models/requested_item_details.py -sailpoint/v2026/models/requested_item_dto_ref.py -sailpoint/v2026/models/requested_item_status.py -sailpoint/v2026/models/requested_item_status_cancelled_request_details.py -sailpoint/v2026/models/requested_item_status_pre_approval_trigger_details.py -sailpoint/v2026/models/requested_item_status_provisioning_details.py -sailpoint/v2026/models/requested_item_status_request_state.py -sailpoint/v2026/models/requested_item_status_requested_for.py -sailpoint/v2026/models/requested_item_status_requester_comment.py -sailpoint/v2026/models/requested_item_status_sod_violation_context.py -sailpoint/v2026/models/resource_model.py -sailpoint/v2026/models/resource_object.py -sailpoint/v2026/models/resource_objects_request.py -sailpoint/v2026/models/resource_objects_response.py -sailpoint/v2026/models/result.py -sailpoint/v2026/models/review_decision.py -sailpoint/v2026/models/review_reassign.py -sailpoint/v2026/models/review_recommendation.py -sailpoint/v2026/models/reviewable_access_profile.py -sailpoint/v2026/models/reviewable_entitlement.py -sailpoint/v2026/models/reviewable_entitlement_account.py -sailpoint/v2026/models/reviewable_entitlement_account_owner.py -sailpoint/v2026/models/reviewable_role.py -sailpoint/v2026/models/reviewer.py -sailpoint/v2026/models/revocability.py -sailpoint/v2026/models/revocability_for_role.py -sailpoint/v2026/models/right_set_dto.py -sailpoint/v2026/models/role.py -sailpoint/v2026/models/role_assignment_dto.py -sailpoint/v2026/models/role_assignment_dto_assigner.py -sailpoint/v2026/models/role_assignment_dto_assignment_context.py -sailpoint/v2026/models/role_assignment_ref.py -sailpoint/v2026/models/role_assignment_source_type.py -sailpoint/v2026/models/role_bulk_delete_request.py -sailpoint/v2026/models/role_bulk_update_response.py -sailpoint/v2026/models/role_criteria_key.py -sailpoint/v2026/models/role_criteria_key_type.py -sailpoint/v2026/models/role_criteria_level1.py -sailpoint/v2026/models/role_criteria_level2.py -sailpoint/v2026/models/role_criteria_level3.py -sailpoint/v2026/models/role_criteria_operation.py -sailpoint/v2026/models/role_document.py -sailpoint/v2026/models/role_document_all_of_dimension_schema_attributes.py -sailpoint/v2026/models/role_document_all_of_dimensions.py -sailpoint/v2026/models/role_document_all_of_entitlements.py -sailpoint/v2026/models/role_document_all_of_entitlements1.py -sailpoint/v2026/models/role_get_all_bulk_update_response.py -sailpoint/v2026/models/role_identity.py -sailpoint/v2026/models/role_insight.py -sailpoint/v2026/models/role_insights_entitlement.py -sailpoint/v2026/models/role_insights_entitlement_changes.py -sailpoint/v2026/models/role_insights_identities.py -sailpoint/v2026/models/role_insights_insight.py -sailpoint/v2026/models/role_insights_response.py -sailpoint/v2026/models/role_insights_role.py -sailpoint/v2026/models/role_insights_summary.py -sailpoint/v2026/models/role_list_filter_dto.py -sailpoint/v2026/models/role_list_filter_dto_amm_key_values_inner.py -sailpoint/v2026/models/role_match_dto.py -sailpoint/v2026/models/role_membership_identity.py -sailpoint/v2026/models/role_membership_selector.py -sailpoint/v2026/models/role_membership_selector_type.py -sailpoint/v2026/models/role_metadata_bulk_update_by_filter_request.py -sailpoint/v2026/models/role_metadata_bulk_update_by_filter_request_values_inner.py -sailpoint/v2026/models/role_metadata_bulk_update_by_id_request.py -sailpoint/v2026/models/role_metadata_bulk_update_by_id_request_values_inner.py -sailpoint/v2026/models/role_metadata_bulk_update_by_query_request.py -sailpoint/v2026/models/role_metadata_bulk_update_by_query_request_values_inner.py -sailpoint/v2026/models/role_mining_entitlement.py -sailpoint/v2026/models/role_mining_entitlement_ref.py -sailpoint/v2026/models/role_mining_identity.py -sailpoint/v2026/models/role_mining_identity_distribution.py -sailpoint/v2026/models/role_mining_identity_distribution_distribution_inner.py -sailpoint/v2026/models/role_mining_potential_role.py -sailpoint/v2026/models/role_mining_potential_role_application.py -sailpoint/v2026/models/role_mining_potential_role_edit_entitlements.py -sailpoint/v2026/models/role_mining_potential_role_entitlements.py -sailpoint/v2026/models/role_mining_potential_role_export_request.py -sailpoint/v2026/models/role_mining_potential_role_export_response.py -sailpoint/v2026/models/role_mining_potential_role_export_state.py -sailpoint/v2026/models/role_mining_potential_role_potential_role_ref.py -sailpoint/v2026/models/role_mining_potential_role_provision_request.py -sailpoint/v2026/models/role_mining_potential_role_provision_state.py -sailpoint/v2026/models/role_mining_potential_role_ref.py -sailpoint/v2026/models/role_mining_potential_role_source_usage.py -sailpoint/v2026/models/role_mining_potential_role_summary.py -sailpoint/v2026/models/role_mining_potential_role_summary_created_by.py -sailpoint/v2026/models/role_mining_role_type.py -sailpoint/v2026/models/role_mining_session_draft_role_dto.py -sailpoint/v2026/models/role_mining_session_dto.py -sailpoint/v2026/models/role_mining_session_parameters_dto.py -sailpoint/v2026/models/role_mining_session_response.py -sailpoint/v2026/models/role_mining_session_response_created_by.py -sailpoint/v2026/models/role_mining_session_scope.py -sailpoint/v2026/models/role_mining_session_scoping_method.py -sailpoint/v2026/models/role_mining_session_state.py -sailpoint/v2026/models/role_mining_session_status.py -sailpoint/v2026/models/role_propagation_ongoing_response.py -sailpoint/v2026/models/role_propagation_ongoing_response_role_propagation_details.py -sailpoint/v2026/models/role_propagation_response.py -sailpoint/v2026/models/role_propagation_status_response.py -sailpoint/v2026/models/role_propagation_status_response_launched_by.py -sailpoint/v2026/models/role_propagation_status_response_terminated_by.py -sailpoint/v2026/models/role_summary.py -sailpoint/v2026/models/role_target_dto.py -sailpoint/v2026/models/saved_search.py -sailpoint/v2026/models/saved_search_complete.py -sailpoint/v2026/models/saved_search_complete_search_results.py -sailpoint/v2026/models/saved_search_complete_search_results_account.py -sailpoint/v2026/models/saved_search_complete_search_results_entitlement.py -sailpoint/v2026/models/saved_search_complete_search_results_identity.py -sailpoint/v2026/models/saved_search_detail.py -sailpoint/v2026/models/saved_search_detail_filters.py -sailpoint/v2026/models/saved_search_name.py -sailpoint/v2026/models/schedule.py -sailpoint/v2026/models/schedule1.py -sailpoint/v2026/models/schedule2.py -sailpoint/v2026/models/schedule2_days.py -sailpoint/v2026/models/schedule2_hours.py -sailpoint/v2026/models/schedule2_months.py -sailpoint/v2026/models/schedule_days.py -sailpoint/v2026/models/schedule_hours.py -sailpoint/v2026/models/schedule_info.py -sailpoint/v2026/models/schedule_months.py -sailpoint/v2026/models/schedule_type.py -sailpoint/v2026/models/scheduled_action_payload.py -sailpoint/v2026/models/scheduled_action_payload_content.py -sailpoint/v2026/models/scheduled_action_payload_content_backup_options.py -sailpoint/v2026/models/scheduled_action_response.py -sailpoint/v2026/models/scheduled_action_response_content.py -sailpoint/v2026/models/scheduled_action_response_content_backup_options.py -sailpoint/v2026/models/scheduled_action_response_content_backup_options_object_options_value.py -sailpoint/v2026/models/scheduled_attributes.py -sailpoint/v2026/models/scheduled_search.py -sailpoint/v2026/models/scheduled_search_all_of_owner.py -sailpoint/v2026/models/scheduled_search_name.py -sailpoint/v2026/models/scope.py -sailpoint/v2026/models/scope_type.py -sailpoint/v2026/models/scope_visibility_type.py -sailpoint/v2026/models/search.py -sailpoint/v2026/models/search_aggregation_specification.py -sailpoint/v2026/models/search_arguments.py -sailpoint/v2026/models/search_attribute_config.py -sailpoint/v2026/models/search_criteria.py -sailpoint/v2026/models/search_criteria_filters_value.py -sailpoint/v2026/models/search_criteria_filters_value_range.py -sailpoint/v2026/models/search_criteria_filters_value_range_lower.py -sailpoint/v2026/models/search_criteria_filters_value_range_upper.py -sailpoint/v2026/models/search_criteria_query.py -sailpoint/v2026/models/search_criteria_text_query.py -sailpoint/v2026/models/search_export_report_arguments.py -sailpoint/v2026/models/search_filter_type.py -sailpoint/v2026/models/search_form_definitions_by_tenant400_response.py -sailpoint/v2026/models/search_schedule.py -sailpoint/v2026/models/search_schedule_recipients_inner.py -sailpoint/v2026/models/section_details.py -sailpoint/v2026/models/sed.py -sailpoint/v2026/models/sed_approval.py -sailpoint/v2026/models/sed_approval_status.py -sailpoint/v2026/models/sed_assignee.py -sailpoint/v2026/models/sed_assignment.py -sailpoint/v2026/models/sed_assignment_response.py -sailpoint/v2026/models/sed_batch_record.py -sailpoint/v2026/models/sed_batch_request.py -sailpoint/v2026/models/sed_batch_response.py -sailpoint/v2026/models/sed_batch_stats.py -sailpoint/v2026/models/sed_patch.py -sailpoint/v2026/models/segment.py -sailpoint/v2026/models/segment_visibility_criteria.py -sailpoint/v2026/models/selector.py -sailpoint/v2026/models/selector_account_match_config.py -sailpoint/v2026/models/selector_account_match_config_match_expression.py -sailpoint/v2026/models/self_import_export_dto.py -sailpoint/v2026/models/send_account_verification_request.py -sailpoint/v2026/models/send_classify_machine_account200_response.py -sailpoint/v2026/models/send_classify_machine_account_from_source200_response.py -sailpoint/v2026/models/send_test_notification_request_dto.py -sailpoint/v2026/models/service_desk_integration_dto.py -sailpoint/v2026/models/service_desk_integration_template_dto.py -sailpoint/v2026/models/service_desk_integration_template_type.py -sailpoint/v2026/models/service_desk_source.py -sailpoint/v2026/models/service_provider_configuration.py -sailpoint/v2026/models/service_provider_configuration_federation_protocol_details_inner.py -sailpoint/v2026/models/session_configuration.py -sailpoint/v2026/models/set_icon200_response.py -sailpoint/v2026/models/set_icon_request.py -sailpoint/v2026/models/set_lifecycle_state200_response.py -sailpoint/v2026/models/set_lifecycle_state_request.py -sailpoint/v2026/models/sim_integration_details.py -sailpoint/v2026/models/sim_integration_details_all_of_before_provisioning_rule.py -sailpoint/v2026/models/slim_campaign.py -sailpoint/v2026/models/slim_discovered_applications.py -sailpoint/v2026/models/sod_exempt_criteria.py -sailpoint/v2026/models/sod_policy.py -sailpoint/v2026/models/sod_policy_conflicting_access_criteria.py -sailpoint/v2026/models/sod_policy_dto.py -sailpoint/v2026/models/sod_policy_dto1.py -sailpoint/v2026/models/sod_policy_owner_ref.py -sailpoint/v2026/models/sod_policy_schedule.py -sailpoint/v2026/models/sod_recipient.py -sailpoint/v2026/models/sod_report_result_dto.py -sailpoint/v2026/models/sod_violation_check.py -sailpoint/v2026/models/sod_violation_check_result.py -sailpoint/v2026/models/sod_violation_context.py -sailpoint/v2026/models/sod_violation_context_check_completed.py -sailpoint/v2026/models/sod_violation_context_conflicting_access_criteria.py -sailpoint/v2026/models/sod_violation_context_conflicting_access_criteria_left_criteria.py -sailpoint/v2026/models/source.py -sailpoint/v2026/models/source1.py -sailpoint/v2026/models/source_account_correlation_config.py -sailpoint/v2026/models/source_account_correlation_rule.py -sailpoint/v2026/models/source_account_created.py -sailpoint/v2026/models/source_account_deleted.py -sailpoint/v2026/models/source_account_selections.py -sailpoint/v2026/models/source_account_updated.py -sailpoint/v2026/models/source_app.py -sailpoint/v2026/models/source_app_account_source.py -sailpoint/v2026/models/source_app_bulk_update_request.py -sailpoint/v2026/models/source_app_create_dto.py -sailpoint/v2026/models/source_app_create_dto_account_source.py -sailpoint/v2026/models/source_app_patch_dto.py -sailpoint/v2026/models/source_before_provisioning_rule.py -sailpoint/v2026/models/source_classification_status.py -sailpoint/v2026/models/source_classification_status_all_of_counts.py -sailpoint/v2026/models/source_cluster.py -sailpoint/v2026/models/source_cluster_dto.py -sailpoint/v2026/models/source_code.py -sailpoint/v2026/models/source_connections_dto.py -sailpoint/v2026/models/source_created.py -sailpoint/v2026/models/source_created_actor.py -sailpoint/v2026/models/source_creation_errors.py -sailpoint/v2026/models/source_deleted.py -sailpoint/v2026/models/source_deleted_actor.py -sailpoint/v2026/models/source_entitlement_request_config.py -sailpoint/v2026/models/source_health_dto.py -sailpoint/v2026/models/source_item_ref.py -sailpoint/v2026/models/source_management_workgroup.py -sailpoint/v2026/models/source_manager_correlation_mapping.py -sailpoint/v2026/models/source_manager_correlation_rule.py -sailpoint/v2026/models/source_owner.py -sailpoint/v2026/models/source_password_policies_inner.py -sailpoint/v2026/models/source_schedule.py -sailpoint/v2026/models/source_schemas_inner.py -sailpoint/v2026/models/source_subtype.py -sailpoint/v2026/models/source_subtype_with_source.py -sailpoint/v2026/models/source_subtype_with_source_source.py -sailpoint/v2026/models/source_sync_job.py -sailpoint/v2026/models/source_sync_payload.py -sailpoint/v2026/models/source_updated.py -sailpoint/v2026/models/source_updated_actor.py -sailpoint/v2026/models/source_usage.py -sailpoint/v2026/models/source_usage_status.py -sailpoint/v2026/models/sp_config_export_job.py -sailpoint/v2026/models/sp_config_export_job_status.py -sailpoint/v2026/models/sp_config_export_results.py -sailpoint/v2026/models/sp_config_import_job_status.py -sailpoint/v2026/models/sp_config_import_results.py -sailpoint/v2026/models/sp_config_job.py -sailpoint/v2026/models/sp_config_message.py -sailpoint/v2026/models/sp_config_message1.py -sailpoint/v2026/models/sp_config_object.py -sailpoint/v2026/models/sp_config_rule.py -sailpoint/v2026/models/sp_config_rule_value.py -sailpoint/v2026/models/sp_config_rules.py -sailpoint/v2026/models/sp_details.py -sailpoint/v2026/models/standard_level.py -sailpoint/v2026/models/start_application_discovery403_response.py -sailpoint/v2026/models/start_application_discovery403_response_one_of.py -sailpoint/v2026/models/start_invocation_input.py -sailpoint/v2026/models/start_launcher200_response.py -sailpoint/v2026/models/status_response.py -sailpoint/v2026/models/stream_config_response.py -sailpoint/v2026/models/stream_status_response.py -sailpoint/v2026/models/sub_search_aggregation_specification.py -sailpoint/v2026/models/subscription.py -sailpoint/v2026/models/subscription_patch_request_inner.py -sailpoint/v2026/models/subscription_patch_request_inner_value.py -sailpoint/v2026/models/subscription_post_request.py -sailpoint/v2026/models/subscription_put_request.py -sailpoint/v2026/models/subscription_type.py -sailpoint/v2026/models/summary_response.py -sailpoint/v2026/models/tag.py -sailpoint/v2026/models/tag1.py -sailpoint/v2026/models/tag_tag_category_refs_inner.py -sailpoint/v2026/models/tagged_object.py -sailpoint/v2026/models/tagged_object_dto.py -sailpoint/v2026/models/target.py -sailpoint/v2026/models/task_definition_summary.py -sailpoint/v2026/models/task_info.py -sailpoint/v2026/models/task_result_details.py -sailpoint/v2026/models/task_result_details_messages_inner.py -sailpoint/v2026/models/task_result_details_returns_inner.py -sailpoint/v2026/models/task_result_dto.py -sailpoint/v2026/models/task_result_response.py -sailpoint/v2026/models/task_result_simplified.py -sailpoint/v2026/models/task_return_details.py -sailpoint/v2026/models/task_status.py -sailpoint/v2026/models/task_status_message.py -sailpoint/v2026/models/task_status_message_parameters_inner.py -sailpoint/v2026/models/template_bulk_delete_dto.py -sailpoint/v2026/models/template_dto.py -sailpoint/v2026/models/template_dto_default.py -sailpoint/v2026/models/template_dto_slack_template.py -sailpoint/v2026/models/template_dto_teams_template.py -sailpoint/v2026/models/template_medium_dto.py -sailpoint/v2026/models/template_slack.py -sailpoint/v2026/models/template_slack_auto_approval_data.py -sailpoint/v2026/models/template_slack_custom_fields.py -sailpoint/v2026/models/template_teams.py -sailpoint/v2026/models/template_variable.py -sailpoint/v2026/models/template_variables_dto.py -sailpoint/v2026/models/tenant.py -sailpoint/v2026/models/tenant_configuration_details.py -sailpoint/v2026/models/tenant_configuration_request.py -sailpoint/v2026/models/tenant_configuration_response.py -sailpoint/v2026/models/tenant_ui_metadata_item_response.py -sailpoint/v2026/models/tenant_ui_metadata_item_update_request.py -sailpoint/v2026/models/test_external_execute_workflow200_response.py -sailpoint/v2026/models/test_external_execute_workflow_request.py -sailpoint/v2026/models/test_invocation.py -sailpoint/v2026/models/test_source_connection_multihost200_response.py -sailpoint/v2026/models/test_workflow200_response.py -sailpoint/v2026/models/test_workflow_request.py -sailpoint/v2026/models/text_query.py -sailpoint/v2026/models/transform.py -sailpoint/v2026/models/transform_definition.py -sailpoint/v2026/models/transform_read.py -sailpoint/v2026/models/translation_message.py -sailpoint/v2026/models/transmitter_metadata.py -sailpoint/v2026/models/trigger.py -sailpoint/v2026/models/trigger_example_input.py -sailpoint/v2026/models/trigger_example_output.py -sailpoint/v2026/models/trigger_type.py -sailpoint/v2026/models/type_ahead_query.py -sailpoint/v2026/models/typed_reference.py -sailpoint/v2026/models/uncorrelated_accounts_report_arguments.py -sailpoint/v2026/models/update_access_profiles_in_bulk412_response.py -sailpoint/v2026/models/update_detail.py -sailpoint/v2026/models/update_multi_host_sources_request_inner.py -sailpoint/v2026/models/update_multi_host_sources_request_inner_value.py -sailpoint/v2026/models/update_schedule_request.py -sailpoint/v2026/models/update_stream_config_response.py -sailpoint/v2026/models/update_stream_configuration_request.py -sailpoint/v2026/models/update_stream_status_request.py -sailpoint/v2026/models/usage_type.py -sailpoint/v2026/models/user_app.py -sailpoint/v2026/models/user_app_account.py -sailpoint/v2026/models/user_app_owner.py -sailpoint/v2026/models/user_app_source.py -sailpoint/v2026/models/user_app_source_app.py -sailpoint/v2026/models/user_level_publish_summary.py -sailpoint/v2026/models/user_level_request.py -sailpoint/v2026/models/user_level_summary_dto.py -sailpoint/v2026/models/v3_connector_dto.py -sailpoint/v2026/models/v3_create_connector_dto.py -sailpoint/v2026/models/va_cluster_status_change_event.py -sailpoint/v2026/models/va_cluster_status_change_event_application.py -sailpoint/v2026/models/va_cluster_status_change_event_health_check_result.py -sailpoint/v2026/models/va_cluster_status_change_event_previous_health_check_result.py -sailpoint/v2026/models/validate_filter_input_dto.py -sailpoint/v2026/models/validate_filter_output_dto.py -sailpoint/v2026/models/value.py -sailpoint/v2026/models/verification_request.py -sailpoint/v2026/models/violation_context.py -sailpoint/v2026/models/violation_context_policy.py -sailpoint/v2026/models/violation_owner_assignment_config.py -sailpoint/v2026/models/violation_owner_assignment_config_owner_ref.py -sailpoint/v2026/models/violation_prediction.py -sailpoint/v2026/models/visibility_criteria.py -sailpoint/v2026/models/work_item_forward.py -sailpoint/v2026/models/work_item_state.py -sailpoint/v2026/models/work_item_state_manual_work_items.py -sailpoint/v2026/models/work_item_type_manual_work_items.py -sailpoint/v2026/models/work_items.py -sailpoint/v2026/models/work_items_count.py -sailpoint/v2026/models/work_items_form.py -sailpoint/v2026/models/work_items_summary.py -sailpoint/v2026/models/workflow.py -sailpoint/v2026/models/workflow_all_of_creator.py -sailpoint/v2026/models/workflow_body.py -sailpoint/v2026/models/workflow_body_owner.py -sailpoint/v2026/models/workflow_definition.py -sailpoint/v2026/models/workflow_execution.py -sailpoint/v2026/models/workflow_execution_event.py -sailpoint/v2026/models/workflow_execution_history.py -sailpoint/v2026/models/workflow_library_action.py -sailpoint/v2026/models/workflow_library_action_example_output.py -sailpoint/v2026/models/workflow_library_form_fields.py -sailpoint/v2026/models/workflow_library_operator.py -sailpoint/v2026/models/workflow_library_trigger.py -sailpoint/v2026/models/workflow_modified_by.py -sailpoint/v2026/models/workflow_o_auth_client.py -sailpoint/v2026/models/workflow_trigger.py -sailpoint/v2026/models/workflow_trigger_attributes.py -sailpoint/v2026/models/workgroup_bulk_delete_request.py -sailpoint/v2026/models/workgroup_connection_dto.py -sailpoint/v2026/models/workgroup_connection_dto_object.py -sailpoint/v2026/models/workgroup_delete_item.py -sailpoint/v2026/models/workgroup_dto.py -sailpoint/v2026/models/workgroup_dto_owner.py -sailpoint/v2026/models/workgroup_member_add_item.py -sailpoint/v2026/models/workgroup_member_delete_item.py -sailpoint/v2026/rest.py -sailpoint/v2026/test/__init__.py -sailpoint/v2026/test/test_access.py -sailpoint/v2026/test/test_access_action_configuration.py -sailpoint/v2026/test/test_access_apps.py -sailpoint/v2026/test/test_access_apps_owner.py -sailpoint/v2026/test/test_access_constraint.py -sailpoint/v2026/test/test_access_criteria.py -sailpoint/v2026/test/test_access_criteria_criteria_list_inner.py -sailpoint/v2026/test/test_access_duration.py -sailpoint/v2026/test/test_access_item_access_profile_response.py -sailpoint/v2026/test/test_access_item_access_profile_response_app_refs_inner.py -sailpoint/v2026/test/test_access_item_account_response.py -sailpoint/v2026/test/test_access_item_app_response.py -sailpoint/v2026/test/test_access_item_approver_dto.py -sailpoint/v2026/test/test_access_item_associated.py -sailpoint/v2026/test/test_access_item_associated_access_item.py -sailpoint/v2026/test/test_access_item_diff.py -sailpoint/v2026/test/test_access_item_entitlement_response.py -sailpoint/v2026/test/test_access_item_ref.py -sailpoint/v2026/test/test_access_item_removed.py -sailpoint/v2026/test/test_access_item_requested_for.py -sailpoint/v2026/test/test_access_item_requested_for_dto.py -sailpoint/v2026/test/test_access_item_requester.py -sailpoint/v2026/test/test_access_item_requester_dto.py -sailpoint/v2026/test/test_access_item_reviewed_by.py -sailpoint/v2026/test/test_access_item_role_response.py -sailpoint/v2026/test/test_access_model_metadata.py -sailpoint/v2026/test/test_access_model_metadata_api.py -sailpoint/v2026/test/test_access_model_metadata_bulk_update_response.py -sailpoint/v2026/test/test_access_model_metadata_values_inner.py -sailpoint/v2026/test/test_access_profile.py -sailpoint/v2026/test/test_access_profile_approval_scheme.py -sailpoint/v2026/test/test_access_profile_bulk_delete_request.py -sailpoint/v2026/test/test_access_profile_bulk_delete_response.py -sailpoint/v2026/test/test_access_profile_bulk_update_request_inner.py -sailpoint/v2026/test/test_access_profile_details.py -sailpoint/v2026/test/test_access_profile_details_account_selector.py -sailpoint/v2026/test/test_access_profile_document.py -sailpoint/v2026/test/test_access_profile_document_all_of_source.py -sailpoint/v2026/test/test_access_profile_entitlement.py -sailpoint/v2026/test/test_access_profile_ref.py -sailpoint/v2026/test/test_access_profile_role.py -sailpoint/v2026/test/test_access_profile_source_ref.py -sailpoint/v2026/test/test_access_profile_summary.py -sailpoint/v2026/test/test_access_profile_update_item.py -sailpoint/v2026/test/test_access_profile_usage.py -sailpoint/v2026/test/test_access_profile_usage_used_by_inner.py -sailpoint/v2026/test/test_access_profiles_api.py -sailpoint/v2026/test/test_access_recommendation_message.py -sailpoint/v2026/test/test_access_request.py -sailpoint/v2026/test/test_access_request_admin_item_status.py -sailpoint/v2026/test/test_access_request_approvals_api.py -sailpoint/v2026/test/test_access_request_approvers_list_response.py -sailpoint/v2026/test/test_access_request_config.py -sailpoint/v2026/test/test_access_request_context.py -sailpoint/v2026/test/test_access_request_dynamic_approver.py -sailpoint/v2026/test/test_access_request_dynamic_approver1.py -sailpoint/v2026/test/test_access_request_dynamic_approver_requested_items_inner.py -sailpoint/v2026/test/test_access_request_identity_metrics_api.py -sailpoint/v2026/test/test_access_request_item.py -sailpoint/v2026/test/test_access_request_item_response.py -sailpoint/v2026/test/test_access_request_phases.py -sailpoint/v2026/test/test_access_request_post_approval.py -sailpoint/v2026/test/test_access_request_post_approval_requested_items_status_inner.py -sailpoint/v2026/test/test_access_request_post_approval_requested_items_status_inner_approval_info_inner.py -sailpoint/v2026/test/test_access_request_post_approval_requested_items_status_inner_approval_info_inner_approver.py -sailpoint/v2026/test/test_access_request_pre_approval.py -sailpoint/v2026/test/test_access_request_pre_approval1.py -sailpoint/v2026/test/test_access_request_pre_approval_requested_items_inner.py -sailpoint/v2026/test/test_access_request_recommendation_action_item_dto.py -sailpoint/v2026/test/test_access_request_recommendation_action_item_response_dto.py -sailpoint/v2026/test/test_access_request_recommendation_config_dto.py -sailpoint/v2026/test/test_access_request_recommendation_item.py -sailpoint/v2026/test/test_access_request_recommendation_item_detail.py -sailpoint/v2026/test/test_access_request_recommendation_item_detail_access.py -sailpoint/v2026/test/test_access_request_recommendation_item_type.py -sailpoint/v2026/test/test_access_request_response.py -sailpoint/v2026/test/test_access_request_response1.py -sailpoint/v2026/test/test_access_request_tracking.py -sailpoint/v2026/test/test_access_request_type.py -sailpoint/v2026/test/test_access_requested.py -sailpoint/v2026/test/test_access_requests_api.py -sailpoint/v2026/test/test_access_review_item.py -sailpoint/v2026/test/test_access_review_reassignment.py -sailpoint/v2026/test/test_access_summary.py -sailpoint/v2026/test/test_access_summary_access.py -sailpoint/v2026/test/test_access_type.py -sailpoint/v2026/test/test_account.py -sailpoint/v2026/test/test_account_action.py -sailpoint/v2026/test/test_account_action_request_dto.py -sailpoint/v2026/test/test_account_action_request_dto_account_details.py -sailpoint/v2026/test/test_account_action_request_dto_correlated_identity.py -sailpoint/v2026/test/test_account_action_request_dto_requester.py -sailpoint/v2026/test/test_account_activities_api.py -sailpoint/v2026/test/test_account_activity.py -sailpoint/v2026/test/test_account_activity_approval_status.py -sailpoint/v2026/test/test_account_activity_document.py -sailpoint/v2026/test/test_account_activity_item.py -sailpoint/v2026/test/test_account_activity_item_operation.py -sailpoint/v2026/test/test_account_activity_searched_item.py -sailpoint/v2026/test/test_account_aggregation_completed.py -sailpoint/v2026/test/test_account_aggregation_completed_source.py -sailpoint/v2026/test/test_account_aggregation_completed_stats.py -sailpoint/v2026/test/test_account_aggregation_status.py -sailpoint/v2026/test/test_account_aggregations_api.py -sailpoint/v2026/test/test_account_all_of_identity.py -sailpoint/v2026/test/test_account_all_of_owner_identity.py -sailpoint/v2026/test/test_account_all_of_recommendation.py -sailpoint/v2026/test/test_account_all_of_source_owner.py -sailpoint/v2026/test/test_account_attributes.py -sailpoint/v2026/test/test_account_attributes_changed.py -sailpoint/v2026/test/test_account_attributes_changed_account.py -sailpoint/v2026/test/test_account_attributes_changed_changes_inner.py -sailpoint/v2026/test/test_account_attributes_changed_changes_inner_new_value.py -sailpoint/v2026/test/test_account_attributes_changed_changes_inner_old_value.py -sailpoint/v2026/test/test_account_attributes_changed_identity.py -sailpoint/v2026/test/test_account_attributes_changed_source.py -sailpoint/v2026/test/test_account_attributes_create.py -sailpoint/v2026/test/test_account_attributes_create_attributes.py -sailpoint/v2026/test/test_account_correlated.py -sailpoint/v2026/test/test_account_correlated_account.py -sailpoint/v2026/test/test_account_correlated_identity.py -sailpoint/v2026/test/test_account_correlated_source.py -sailpoint/v2026/test/test_account_created.py -sailpoint/v2026/test/test_account_created_event.py -sailpoint/v2026/test/test_account_delete_config_dto.py -sailpoint/v2026/test/test_account_delete_request_input.py -sailpoint/v2026/test/test_account_deleted.py -sailpoint/v2026/test/test_account_deleted_event.py -sailpoint/v2026/test/test_account_deletion_requests_api.py -sailpoint/v2026/test/test_account_details.py -sailpoint/v2026/test/test_account_info_dto.py -sailpoint/v2026/test/test_account_info_ref.py -sailpoint/v2026/test/test_account_item_ref.py -sailpoint/v2026/test/test_account_request.py -sailpoint/v2026/test/test_account_request_async_result.py -sailpoint/v2026/test/test_account_request_details_dto.py -sailpoint/v2026/test/test_account_request_details_dto_requester.py -sailpoint/v2026/test/test_account_request_info.py -sailpoint/v2026/test/test_account_request_phase.py -sailpoint/v2026/test/test_account_request_phase_state.py -sailpoint/v2026/test/test_account_request_result.py -sailpoint/v2026/test/test_account_source.py -sailpoint/v2026/test/test_account_source_reference.py -sailpoint/v2026/test/test_account_source_reference_governance_group.py -sailpoint/v2026/test/test_account_source_reference_owner.py -sailpoint/v2026/test/test_account_status_changed.py -sailpoint/v2026/test/test_account_status_changed_account.py -sailpoint/v2026/test/test_account_status_changed_status_change.py -sailpoint/v2026/test/test_account_toggle_request.py -sailpoint/v2026/test/test_account_uncorrelated.py -sailpoint/v2026/test/test_account_uncorrelated_account.py -sailpoint/v2026/test/test_account_uncorrelated_identity.py -sailpoint/v2026/test/test_account_uncorrelated_source.py -sailpoint/v2026/test/test_account_unlock_request.py -sailpoint/v2026/test/test_account_updated.py -sailpoint/v2026/test/test_account_updated_entitlement_changes_inner.py -sailpoint/v2026/test/test_account_updated_entitlement_changes_inner_added_inner.py -sailpoint/v2026/test/test_account_updated_entitlement_changes_inner_added_inner_owner.py -sailpoint/v2026/test/test_account_updated_event.py -sailpoint/v2026/test/test_account_updated_multi_value_attribute_changes_inner.py -sailpoint/v2026/test/test_account_updated_multi_value_attribute_changes_inner_added_values_inner.py -sailpoint/v2026/test/test_account_updated_single_value_attribute_changes_inner.py -sailpoint/v2026/test/test_account_updated_single_value_attribute_changes_inner_new_value.py -sailpoint/v2026/test/test_account_updated_single_value_attribute_changes_inner_old_value.py -sailpoint/v2026/test/test_account_usage.py -sailpoint/v2026/test/test_account_usages_api.py -sailpoint/v2026/test/test_account_v2.py -sailpoint/v2026/test/test_accounts_api.py -sailpoint/v2026/test/test_accounts_async_result.py -sailpoint/v2026/test/test_accounts_collected_for_aggregation.py -sailpoint/v2026/test/test_accounts_collected_for_aggregation_source.py -sailpoint/v2026/test/test_accounts_collected_for_aggregation_stats.py -sailpoint/v2026/test/test_accounts_export_report_arguments.py -sailpoint/v2026/test/test_accounts_selection_request.py -sailpoint/v2026/test/test_accounts_selection_response.py -sailpoint/v2026/test/test_activate_campaign_options.py -sailpoint/v2026/test/test_activity_configuration_settings.py -sailpoint/v2026/test/test_activity_identity.py -sailpoint/v2026/test/test_activity_insights.py -sailpoint/v2026/test/test_additional_owner_ref.py -sailpoint/v2026/test/test_admin_review_reassign.py -sailpoint/v2026/test/test_admin_review_reassign_reassign_to.py -sailpoint/v2026/test/test_aggregation_result.py -sailpoint/v2026/test/test_aggregation_type.py -sailpoint/v2026/test/test_aggregations.py -sailpoint/v2026/test/test_api_usage_api.py -sailpoint/v2026/test/test_app.py -sailpoint/v2026/test/test_app_account_details.py -sailpoint/v2026/test/test_app_account_details_source_account.py -sailpoint/v2026/test/test_app_all_of_account.py -sailpoint/v2026/test/test_application_crawler_settings.py -sailpoint/v2026/test/test_application_discovery_api.py -sailpoint/v2026/test/test_application_discovery_request.py -sailpoint/v2026/test/test_application_discovery_response.py -sailpoint/v2026/test/test_application_discovery_response_target.py -sailpoint/v2026/test/test_application_item.py -sailpoint/v2026/test/test_application_type.py -sailpoint/v2026/test/test_approval.py -sailpoint/v2026/test/test_approval1.py -sailpoint/v2026/test/test_approval_approval_criteria.py -sailpoint/v2026/test/test_approval_approval_criteria_approval.py -sailpoint/v2026/test/test_approval_approval_criteria_rejection.py -sailpoint/v2026/test/test_approval_approve_request.py -sailpoint/v2026/test/test_approval_attributes_request.py -sailpoint/v2026/test/test_approval_batch.py -sailpoint/v2026/test/test_approval_cancel_request.py -sailpoint/v2026/test/test_approval_comment.py -sailpoint/v2026/test/test_approval_comment1.py -sailpoint/v2026/test/test_approval_comment2.py -sailpoint/v2026/test/test_approval_comments_request.py -sailpoint/v2026/test/test_approval_config.py -sailpoint/v2026/test/test_approval_config_cron_timezone.py -sailpoint/v2026/test/test_approval_config_escalation_config.py -sailpoint/v2026/test/test_approval_config_escalation_config_escalation_chain_inner.py -sailpoint/v2026/test/test_approval_config_reminder_config.py -sailpoint/v2026/test/test_approval_config_serial_chain_inner.py -sailpoint/v2026/test/test_approval_config_timeout_config.py -sailpoint/v2026/test/test_approval_description.py -sailpoint/v2026/test/test_approval_details.py -sailpoint/v2026/test/test_approval_forward_history.py -sailpoint/v2026/test/test_approval_identity.py -sailpoint/v2026/test/test_approval_identity_members_inner.py -sailpoint/v2026/test/test_approval_identity_owner_of_inner.py -sailpoint/v2026/test/test_approval_identity_record.py -sailpoint/v2026/test/test_approval_info_response.py -sailpoint/v2026/test/test_approval_item_details.py -sailpoint/v2026/test/test_approval_items.py -sailpoint/v2026/test/test_approval_name.py -sailpoint/v2026/test/test_approval_reassign_request.py -sailpoint/v2026/test/test_approval_reassignment_history.py -sailpoint/v2026/test/test_approval_reference.py -sailpoint/v2026/test/test_approval_reject_request.py -sailpoint/v2026/test/test_approval_requested_target.py -sailpoint/v2026/test/test_approval_scheme.py -sailpoint/v2026/test/test_approval_scheme_for_role.py -sailpoint/v2026/test/test_approval_status.py -sailpoint/v2026/test/test_approval_status_dto.py -sailpoint/v2026/test/test_approval_status_dto_current_owner.py -sailpoint/v2026/test/test_approval_status_dto_original_owner.py -sailpoint/v2026/test/test_approval_summary.py -sailpoint/v2026/test/test_approvals_api.py -sailpoint/v2026/test/test_approver_dto.py -sailpoint/v2026/test/test_approver_reference.py -sailpoint/v2026/test/test_apps_api.py -sailpoint/v2026/test/test_argument.py -sailpoint/v2026/test/test_array_inner.py -sailpoint/v2026/test/test_array_inner1.py -sailpoint/v2026/test/test_assign_resource_owner_request.py -sailpoint/v2026/test/test_assignment_context_dto.py -sailpoint/v2026/test/test_attr_sync_source.py -sailpoint/v2026/test/test_attr_sync_source_attribute_config.py -sailpoint/v2026/test/test_attr_sync_source_config.py -sailpoint/v2026/test/test_attribute_change.py -sailpoint/v2026/test/test_attribute_definition.py -sailpoint/v2026/test/test_attribute_definition_schema.py -sailpoint/v2026/test/test_attribute_definition_type.py -sailpoint/v2026/test/test_attribute_dto.py -sailpoint/v2026/test/test_attribute_dto_list.py -sailpoint/v2026/test/test_attribute_mappings.py -sailpoint/v2026/test/test_attribute_mappings_all_of_target.py -sailpoint/v2026/test/test_attribute_mappings_all_of_transform_definition.py -sailpoint/v2026/test/test_attribute_mappings_all_of_transform_definition_attributes.py -sailpoint/v2026/test/test_attribute_mappings_all_of_transform_definition_attributes_input.py -sailpoint/v2026/test/test_attribute_mappings_all_of_transform_definition_attributes_input_attributes.py -sailpoint/v2026/test/test_attribute_request.py -sailpoint/v2026/test/test_attribute_request_value.py -sailpoint/v2026/test/test_attribute_value_dto.py -sailpoint/v2026/test/test_attributes_changed.py -sailpoint/v2026/test/test_audit_details.py -sailpoint/v2026/test/test_auth_profile.py -sailpoint/v2026/test/test_auth_profile_api.py -sailpoint/v2026/test/test_auth_profile_summary.py -sailpoint/v2026/test/test_auth_user.py -sailpoint/v2026/test/test_auth_user_levels_identity_count.py -sailpoint/v2026/test/test_auth_user_slim_response.py -sailpoint/v2026/test/test_auth_users_api.py -sailpoint/v2026/test/test_authorization_scheme.py -sailpoint/v2026/test/test_auto_write_setting.py -sailpoint/v2026/test/test_auto_write_setting_patch.py -sailpoint/v2026/test/test_auto_write_setting_patch_value.py -sailpoint/v2026/test/test_auto_write_setting_response.py -sailpoint/v2026/test/test_backup_options.py -sailpoint/v2026/test/test_backup_options1.py -sailpoint/v2026/test/test_backup_response.py -sailpoint/v2026/test/test_backup_response1.py -sailpoint/v2026/test/test_base_access.py -sailpoint/v2026/test/test_base_access_owner.py -sailpoint/v2026/test/test_base_access_profile.py -sailpoint/v2026/test/test_base_account.py -sailpoint/v2026/test/test_base_common_dto.py -sailpoint/v2026/test/test_base_create_application_request.py -sailpoint/v2026/test/test_base_document.py -sailpoint/v2026/test/test_base_entitlement.py -sailpoint/v2026/test/test_base_reference_dto.py -sailpoint/v2026/test/test_base_segment.py -sailpoint/v2026/test/test_base_settings.py -sailpoint/v2026/test/test_basic_auth_config.py -sailpoint/v2026/test/test_bearer_token_auth_config.py -sailpoint/v2026/test/test_before_provisioning_rule_dto.py -sailpoint/v2026/test/test_bound.py -sailpoint/v2026/test/test_branding_api.py -sailpoint/v2026/test/test_branding_item.py -sailpoint/v2026/test/test_branding_item_create.py -sailpoint/v2026/test/test_bucket_aggregation.py -sailpoint/v2026/test/test_bucket_type.py -sailpoint/v2026/test/test_bulk_add_tagged_object.py -sailpoint/v2026/test/test_bulk_approve_access_request.py -sailpoint/v2026/test/test_bulk_approve_request_dto.py -sailpoint/v2026/test/test_bulk_cancel_access_request.py -sailpoint/v2026/test/test_bulk_cancel_request_dto.py -sailpoint/v2026/test/test_bulk_identities_accounts_response.py -sailpoint/v2026/test/test_bulk_reassign_request_dto.py -sailpoint/v2026/test/test_bulk_reject_request_dto.py -sailpoint/v2026/test/test_bulk_remove_tagged_object.py -sailpoint/v2026/test/test_bulk_tagged_object_response.py -sailpoint/v2026/test/test_business_service_type.py -sailpoint/v2026/test/test_campaign.py -sailpoint/v2026/test/test_campaign_activated.py -sailpoint/v2026/test/test_campaign_activated_campaign.py -sailpoint/v2026/test/test_campaign_activated_campaign_campaign_owner.py -sailpoint/v2026/test/test_campaign_alert.py -sailpoint/v2026/test/test_campaign_all_of_filter.py -sailpoint/v2026/test/test_campaign_all_of_machine_account_campaign_info.py -sailpoint/v2026/test/test_campaign_all_of_role_composition_campaign_info.py -sailpoint/v2026/test/test_campaign_all_of_role_composition_campaign_info_remediator_ref.py -sailpoint/v2026/test/test_campaign_all_of_role_composition_campaign_info_reviewer.py -sailpoint/v2026/test/test_campaign_all_of_search_campaign_info.py -sailpoint/v2026/test/test_campaign_all_of_search_campaign_info_reviewer.py -sailpoint/v2026/test/test_campaign_all_of_source_owner_campaign_info.py -sailpoint/v2026/test/test_campaign_all_of_sources_with_orphan_entitlements.py -sailpoint/v2026/test/test_campaign_complete_options.py -sailpoint/v2026/test/test_campaign_ended.py -sailpoint/v2026/test/test_campaign_ended_campaign.py -sailpoint/v2026/test/test_campaign_filter_details.py -sailpoint/v2026/test/test_campaign_filter_details_criteria_list_inner.py -sailpoint/v2026/test/test_campaign_generated.py -sailpoint/v2026/test/test_campaign_generated_campaign.py -sailpoint/v2026/test/test_campaign_generated_campaign_campaign_owner.py -sailpoint/v2026/test/test_campaign_reference.py -sailpoint/v2026/test/test_campaign_report.py -sailpoint/v2026/test/test_campaign_reports_config.py -sailpoint/v2026/test/test_campaign_template.py -sailpoint/v2026/test/test_campaign_template_owner_ref.py -sailpoint/v2026/test/test_campaigns_delete_request.py -sailpoint/v2026/test/test_cancel_access_request.py -sailpoint/v2026/test/test_cancelled_request_details.py -sailpoint/v2026/test/test_certification.py -sailpoint/v2026/test/test_certification_campaign_filters_api.py -sailpoint/v2026/test/test_certification_campaigns_api.py -sailpoint/v2026/test/test_certification_decision.py -sailpoint/v2026/test/test_certification_dto.py -sailpoint/v2026/test/test_certification_identity_summary.py -sailpoint/v2026/test/test_certification_phase.py -sailpoint/v2026/test/test_certification_reference.py -sailpoint/v2026/test/test_certification_signed_off.py -sailpoint/v2026/test/test_certification_signed_off_certification.py -sailpoint/v2026/test/test_certification_summaries_api.py -sailpoint/v2026/test/test_certification_task.py -sailpoint/v2026/test/test_certifications_api.py -sailpoint/v2026/test/test_certifier_response.py -sailpoint/v2026/test/test_classify_source_api.py -sailpoint/v2026/test/test_client_log_configuration.py -sailpoint/v2026/test/test_client_log_configuration_duration_minutes.py -sailpoint/v2026/test/test_client_log_configuration_expiration.py -sailpoint/v2026/test/test_client_type.py -sailpoint/v2026/test/test_close_access_request.py -sailpoint/v2026/test/test_cluster_manual_upgrade.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_ccg.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_charon.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_otel_agent.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_relay.py -sailpoint/v2026/test/test_cluster_manual_upgrade_jobs_inner_managed_process_configuration_toolbox.py -sailpoint/v2026/test/test_column.py -sailpoint/v2026/test/test_comment.py -sailpoint/v2026/test/test_comment_dto.py -sailpoint/v2026/test/test_comment_dto_author.py -sailpoint/v2026/test/test_common_access_id_status.py -sailpoint/v2026/test/test_common_access_item_access.py -sailpoint/v2026/test/test_common_access_item_request.py -sailpoint/v2026/test/test_common_access_item_response.py -sailpoint/v2026/test/test_common_access_item_state.py -sailpoint/v2026/test/test_common_access_response.py -sailpoint/v2026/test/test_common_access_type.py -sailpoint/v2026/test/test_complete_invocation.py -sailpoint/v2026/test/test_complete_invocation_input.py -sailpoint/v2026/test/test_completed_approval.py -sailpoint/v2026/test/test_completed_approval_pre_approval_trigger_result.py -sailpoint/v2026/test/test_completed_approval_requester_comment.py -sailpoint/v2026/test/test_completed_approval_reviewer_comment.py -sailpoint/v2026/test/test_completed_approval_state.py -sailpoint/v2026/test/test_completion_status.py -sailpoint/v2026/test/test_condition_effect.py -sailpoint/v2026/test/test_condition_effect_config.py -sailpoint/v2026/test/test_condition_rule.py -sailpoint/v2026/test/test_config_object.py -sailpoint/v2026/test/test_config_type.py -sailpoint/v2026/test/test_config_type_enum.py -sailpoint/v2026/test/test_config_type_enum_camel.py -sailpoint/v2026/test/test_configuration_details_response.py -sailpoint/v2026/test/test_configuration_hub_api.py -sailpoint/v2026/test/test_configuration_item_request.py -sailpoint/v2026/test/test_configuration_item_response.py -sailpoint/v2026/test/test_configuration_response.py -sailpoint/v2026/test/test_conflicting_access_criteria.py -sailpoint/v2026/test/test_connected_object.py -sailpoint/v2026/test/test_connected_object_type.py -sailpoint/v2026/test/test_connector_customizer_create_request.py -sailpoint/v2026/test/test_connector_customizer_create_response.py -sailpoint/v2026/test/test_connector_customizer_update_request.py -sailpoint/v2026/test/test_connector_customizer_update_response.py -sailpoint/v2026/test/test_connector_customizer_version_create_response.py -sailpoint/v2026/test/test_connector_customizers_api.py -sailpoint/v2026/test/test_connector_customizers_response.py -sailpoint/v2026/test/test_connector_detail.py -sailpoint/v2026/test/test_connector_rule_create_request.py -sailpoint/v2026/test/test_connector_rule_create_request_signature.py -sailpoint/v2026/test/test_connector_rule_management_api.py -sailpoint/v2026/test/test_connector_rule_response.py -sailpoint/v2026/test/test_connector_rule_update_request.py -sailpoint/v2026/test/test_connector_rule_validation_response.py -sailpoint/v2026/test/test_connector_rule_validation_response_details_inner.py -sailpoint/v2026/test/test_connectors_api.py -sailpoint/v2026/test/test_context_attribute_dto.py -sailpoint/v2026/test/test_context_attribute_dto_value.py -sailpoint/v2026/test/test_correlated_governance_event.py -sailpoint/v2026/test/test_correlation_config.py -sailpoint/v2026/test/test_correlation_config_attribute_assignments_inner.py -sailpoint/v2026/test/test_crawl_resources_sizes_options.py -sailpoint/v2026/test/test_create_domain_dkim405_response.py -sailpoint/v2026/test/test_create_external_execute_workflow200_response.py -sailpoint/v2026/test/test_create_external_execute_workflow_request.py -sailpoint/v2026/test/test_create_form_definition_file_request_request.py -sailpoint/v2026/test/test_create_form_definition_request.py -sailpoint/v2026/test/test_create_form_instance_request.py -sailpoint/v2026/test/test_create_machine_account_subtype_request.py -sailpoint/v2026/test/test_create_o_auth_client_request.py -sailpoint/v2026/test/test_create_o_auth_client_response.py -sailpoint/v2026/test/test_create_personal_access_token_request.py -sailpoint/v2026/test/test_create_personal_access_token_response.py -sailpoint/v2026/test/test_create_privilege_criteria_request.py -sailpoint/v2026/test/test_create_privilege_criteria_request_groups_inner.py -sailpoint/v2026/test/test_create_privilege_criteria_request_groups_inner_criteria_items_inner.py -sailpoint/v2026/test/test_create_saved_search_request.py -sailpoint/v2026/test/test_create_schedule_request.py -sailpoint/v2026/test/test_create_scheduled_search_request.py -sailpoint/v2026/test/test_create_stream_delivery_request.py -sailpoint/v2026/test/test_create_stream_request.py -sailpoint/v2026/test/test_create_uploaded_configuration_request.py -sailpoint/v2026/test/test_create_workflow_request.py -sailpoint/v2026/test/test_criteria_type.py -sailpoint/v2026/test/test_custom_forms_api.py -sailpoint/v2026/test/test_custom_password_instruction.py -sailpoint/v2026/test/test_custom_password_instructions_api.py -sailpoint/v2026/test/test_custom_user_levels_api.py -sailpoint/v2026/test/test_data_access.py -sailpoint/v2026/test/test_data_access_categories_inner.py -sailpoint/v2026/test/test_data_access_impact_score.py -sailpoint/v2026/test/test_data_access_policies_inner.py -sailpoint/v2026/test/test_data_access_security_api.py -sailpoint/v2026/test/test_data_classification_settings.py -sailpoint/v2026/test/test_data_owner_model.py -sailpoint/v2026/test/test_data_segment.py -sailpoint/v2026/test/test_data_segmentation_api.py -sailpoint/v2026/test/test_declassify_source_api.py -sailpoint/v2026/test/test_delete_non_employee_records_in_bulk_request.py -sailpoint/v2026/test/test_delete_source202_response.py -sailpoint/v2026/test/test_delivery_request.py -sailpoint/v2026/test/test_delivery_response.py -sailpoint/v2026/test/test_dependant_app_connections.py -sailpoint/v2026/test/test_dependant_app_connections_account_source.py -sailpoint/v2026/test/test_dependant_app_connections_account_source_password_policies_inner.py -sailpoint/v2026/test/test_dependant_connections_missing_dto.py -sailpoint/v2026/test/test_deploy_request.py -sailpoint/v2026/test/test_deploy_response.py -sailpoint/v2026/test/test_dimension.py -sailpoint/v2026/test/test_dimension_attribute.py -sailpoint/v2026/test/test_dimension_bulk_delete_request.py -sailpoint/v2026/test/test_dimension_criteria_key.py -sailpoint/v2026/test/test_dimension_criteria_key_type.py -sailpoint/v2026/test/test_dimension_criteria_level1.py -sailpoint/v2026/test/test_dimension_criteria_level2.py -sailpoint/v2026/test/test_dimension_criteria_level3.py -sailpoint/v2026/test/test_dimension_criteria_operation.py -sailpoint/v2026/test/test_dimension_membership_selector.py -sailpoint/v2026/test/test_dimension_membership_selector_type.py -sailpoint/v2026/test/test_dimension_ref.py -sailpoint/v2026/test/test_dimension_schema.py -sailpoint/v2026/test/test_dimensions_api.py -sailpoint/v2026/test/test_display_reference.py -sailpoint/v2026/test/test_dkim_attributes.py -sailpoint/v2026/test/test_domain_address.py -sailpoint/v2026/test/test_domain_status_dto.py -sailpoint/v2026/test/test_draft_response.py -sailpoint/v2026/test/test_dto_type.py -sailpoint/v2026/test/test_email_notification_option.py -sailpoint/v2026/test/test_email_status_dto.py -sailpoint/v2026/test/test_entitlement.py -sailpoint/v2026/test/test_entitlement_access_request_config.py -sailpoint/v2026/test/test_entitlement_access_request_config_max_permitted_access_duration.py -sailpoint/v2026/test/test_entitlement_approval_scheme.py -sailpoint/v2026/test/test_entitlement_attribute_bulk_update_filter_request.py -sailpoint/v2026/test/test_entitlement_attribute_bulk_update_ids_request.py -sailpoint/v2026/test/test_entitlement_attribute_bulk_update_query_request.py -sailpoint/v2026/test/test_entitlement_bulk_update_request.py -sailpoint/v2026/test/test_entitlement_document.py -sailpoint/v2026/test/test_entitlement_document_all_of_manually_updated_fields.py -sailpoint/v2026/test/test_entitlement_document_all_of_permissions.py -sailpoint/v2026/test/test_entitlement_document_all_of_source.py -sailpoint/v2026/test/test_entitlement_privilege_level.py -sailpoint/v2026/test/test_entitlement_ref.py -sailpoint/v2026/test/test_entitlement_request_config.py -sailpoint/v2026/test/test_entitlement_revocation_request_config.py -sailpoint/v2026/test/test_entitlement_source.py -sailpoint/v2026/test/test_entitlement_source_reset_base_reference_dto.py -sailpoint/v2026/test/test_entitlement_summary.py -sailpoint/v2026/test/test_entitlement_v2.py -sailpoint/v2026/test/test_entitlement_v2_access_model_metadata.py -sailpoint/v2026/test/test_entitlement_v2_owner.py -sailpoint/v2026/test/test_entitlement_v2_privilege_level.py -sailpoint/v2026/test/test_entitlement_v2_source.py -sailpoint/v2026/test/test_entitlements_api.py -sailpoint/v2026/test/test_entity_created_by_dto.py -sailpoint/v2026/test/test_error.py -sailpoint/v2026/test/test_error_message.py -sailpoint/v2026/test/test_error_message_dto.py -sailpoint/v2026/test/test_error_message_dto1.py -sailpoint/v2026/test/test_error_response_dto.py -sailpoint/v2026/test/test_error_response_dto1.py -sailpoint/v2026/test/test_evaluate_response.py -sailpoint/v2026/test/test_event.py -sailpoint/v2026/test/test_event_actor.py -sailpoint/v2026/test/test_event_attributes.py -sailpoint/v2026/test/test_event_bridge_config.py -sailpoint/v2026/test/test_event_document.py -sailpoint/v2026/test/test_event_target.py -sailpoint/v2026/test/test_exception_access_criteria.py -sailpoint/v2026/test/test_exception_criteria.py -sailpoint/v2026/test/test_exception_criteria_access.py -sailpoint/v2026/test/test_exception_criteria_criteria_list_inner.py -sailpoint/v2026/test/test_execution_status.py -sailpoint/v2026/test/test_expansion_item.py -sailpoint/v2026/test/test_export_form_definitions_by_tenant200_response_inner.py -sailpoint/v2026/test/test_export_form_definitions_by_tenant200_response_inner_self.py -sailpoint/v2026/test/test_export_options.py -sailpoint/v2026/test/test_export_options1.py -sailpoint/v2026/test/test_export_payload.py -sailpoint/v2026/test/test_expression.py -sailpoint/v2026/test/test_expression_children_inner.py -sailpoint/v2026/test/test_external_attributes.py -sailpoint/v2026/test/test_feature_value_dto.py -sailpoint/v2026/test/test_federation_protocol_details.py -sailpoint/v2026/test/test_field_details_dto.py -sailpoint/v2026/test/test_filter.py -sailpoint/v2026/test/test_filter_aggregation.py -sailpoint/v2026/test/test_filter_type.py -sailpoint/v2026/test/test_form_condition.py -sailpoint/v2026/test/test_form_definition_dynamic_schema_request.py -sailpoint/v2026/test/test_form_definition_dynamic_schema_request_attributes.py -sailpoint/v2026/test/test_form_definition_dynamic_schema_response.py -sailpoint/v2026/test/test_form_definition_file_upload_response.py -sailpoint/v2026/test/test_form_definition_input.py -sailpoint/v2026/test/test_form_definition_response.py -sailpoint/v2026/test/test_form_definition_self_import_export_dto.py -sailpoint/v2026/test/test_form_details.py -sailpoint/v2026/test/test_form_element.py -sailpoint/v2026/test/test_form_element_data_source_config_options.py -sailpoint/v2026/test/test_form_element_dynamic_data_source.py -sailpoint/v2026/test/test_form_element_dynamic_data_source_config.py -sailpoint/v2026/test/test_form_element_preview_request.py -sailpoint/v2026/test/test_form_element_validations_set.py -sailpoint/v2026/test/test_form_error.py -sailpoint/v2026/test/test_form_instance_created_by.py -sailpoint/v2026/test/test_form_instance_recipient.py -sailpoint/v2026/test/test_form_instance_response.py -sailpoint/v2026/test/test_form_item_details.py -sailpoint/v2026/test/test_form_owner.py -sailpoint/v2026/test/test_form_used_by.py -sailpoint/v2026/test/test_forward_approval_dto.py -sailpoint/v2026/test/test_full_discovered_applications.py -sailpoint/v2026/test/test_get_access_request_config401_response.py -sailpoint/v2026/test/test_get_access_request_config429_response.py -sailpoint/v2026/test/test_get_active_campaigns200_response_inner.py -sailpoint/v2026/test/test_get_campaign200_response.py -sailpoint/v2026/test/test_get_discovered_applications200_response_inner.py -sailpoint/v2026/test/test_get_historical_identity_events200_response_inner.py -sailpoint/v2026/test/test_get_launchers200_response.py -sailpoint/v2026/test/test_get_o_auth_client_response.py -sailpoint/v2026/test/test_get_personal_access_token_response.py -sailpoint/v2026/test/test_get_role_assignments200_response_inner.py -sailpoint/v2026/test/test_get_stream200_response.py -sailpoint/v2026/test/test_get_tenant_context200_response_inner.py -sailpoint/v2026/test/test_global_tenant_security_settings_api.py -sailpoint/v2026/test/test_governance_groups_api.py -sailpoint/v2026/test/test_grant_type.py -sailpoint/v2026/test/test_health_event.py -sailpoint/v2026/test/test_health_indicator_category.py -sailpoint/v2026/test/test_hierarchical_right_set.py -sailpoint/v2026/test/test_http_authentication_type.py -sailpoint/v2026/test/test_http_config.py -sailpoint/v2026/test/test_http_dispatch_mode.py -sailpoint/v2026/test/test_iai_access_request_recommendations_api.py -sailpoint/v2026/test/test_iai_common_access_api.py -sailpoint/v2026/test/test_iai_outliers_api.py -sailpoint/v2026/test/test_iai_peer_group_strategies_api.py -sailpoint/v2026/test/test_iai_recommendations_api.py -sailpoint/v2026/test/test_iai_role_mining_api.py -sailpoint/v2026/test/test_icons_api.py -sailpoint/v2026/test/test_identities_accounts_bulk_request.py -sailpoint/v2026/test/test_identities_api.py -sailpoint/v2026/test/test_identities_details_report_arguments.py -sailpoint/v2026/test/test_identities_report_arguments.py -sailpoint/v2026/test/test_identity.py -sailpoint/v2026/test/test_identity1.py -sailpoint/v2026/test/test_identity_access.py -sailpoint/v2026/test/test_identity_account_selections.py -sailpoint/v2026/test/test_identity_association_details.py -sailpoint/v2026/test/test_identity_association_details_association_details_inner.py -sailpoint/v2026/test/test_identity_attribute.py -sailpoint/v2026/test/test_identity_attribute_config.py -sailpoint/v2026/test/test_identity_attribute_names.py -sailpoint/v2026/test/test_identity_attribute_preview.py -sailpoint/v2026/test/test_identity_attribute_transform.py -sailpoint/v2026/test/test_identity_attributes_api.py -sailpoint/v2026/test/test_identity_attributes_changed.py -sailpoint/v2026/test/test_identity_attributes_changed_changes_inner.py -sailpoint/v2026/test/test_identity_attributes_changed_changes_inner_new_value.py -sailpoint/v2026/test/test_identity_attributes_changed_changes_inner_old_value.py -sailpoint/v2026/test/test_identity_attributes_changed_changes_inner_old_value_one_of_value.py -sailpoint/v2026/test/test_identity_attributes_changed_identity.py -sailpoint/v2026/test/test_identity_cert_decision_summary.py -sailpoint/v2026/test/test_identity_certification_dto.py -sailpoint/v2026/test/test_identity_certified.py -sailpoint/v2026/test/test_identity_compare_response.py -sailpoint/v2026/test/test_identity_created.py -sailpoint/v2026/test/test_identity_created_identity.py -sailpoint/v2026/test/test_identity_deleted.py -sailpoint/v2026/test/test_identity_deleted_identity.py -sailpoint/v2026/test/test_identity_document.py -sailpoint/v2026/test/test_identity_document_all_of_identity_profile.py -sailpoint/v2026/test/test_identity_document_all_of_manager.py -sailpoint/v2026/test/test_identity_document_all_of_source.py -sailpoint/v2026/test/test_identity_entities.py -sailpoint/v2026/test/test_identity_entities_identity_entity.py -sailpoint/v2026/test/test_identity_entitlement_details.py -sailpoint/v2026/test/test_identity_entitlement_details_account_target.py -sailpoint/v2026/test/test_identity_entitlement_details_entitlement_dto.py -sailpoint/v2026/test/test_identity_entitlements.py -sailpoint/v2026/test/test_identity_exception_report_reference.py -sailpoint/v2026/test/test_identity_history_api.py -sailpoint/v2026/test/test_identity_history_response.py -sailpoint/v2026/test/test_identity_lifecycle_state.py -sailpoint/v2026/test/test_identity_list_item.py -sailpoint/v2026/test/test_identity_manager_ref.py -sailpoint/v2026/test/test_identity_ownership_association_details.py -sailpoint/v2026/test/test_identity_ownership_association_details_association_details_inner.py -sailpoint/v2026/test/test_identity_preview_request.py -sailpoint/v2026/test/test_identity_preview_response.py -sailpoint/v2026/test/test_identity_preview_response_identity.py -sailpoint/v2026/test/test_identity_profile.py -sailpoint/v2026/test/test_identity_profile_all_of_authoritative_source.py -sailpoint/v2026/test/test_identity_profile_all_of_owner.py -sailpoint/v2026/test/test_identity_profile_exported_object.py -sailpoint/v2026/test/test_identity_profile_exported_object_self.py -sailpoint/v2026/test/test_identity_profile_identity_error_report_arguments.py -sailpoint/v2026/test/test_identity_profiles_api.py -sailpoint/v2026/test/test_identity_profiles_connections.py -sailpoint/v2026/test/test_identity_reference.py -sailpoint/v2026/test/test_identity_reference1.py -sailpoint/v2026/test/test_identity_reference_with_name_and_email.py -sailpoint/v2026/test/test_identity_snapshot_summary_response.py -sailpoint/v2026/test/test_identity_summary.py -sailpoint/v2026/test/test_identity_sync_job.py -sailpoint/v2026/test/test_identity_sync_payload.py -sailpoint/v2026/test/test_identity_with_new_access.py -sailpoint/v2026/test/test_identity_with_new_access_access_refs_inner.py -sailpoint/v2026/test/test_idp_details.py -sailpoint/v2026/test/test_import_accounts_request.py -sailpoint/v2026/test/test_import_entitlements_by_source_request.py -sailpoint/v2026/test/test_import_entitlements_request.py -sailpoint/v2026/test/test_import_form_definitions202_response.py -sailpoint/v2026/test/test_import_form_definitions202_response_errors_inner.py -sailpoint/v2026/test/test_import_form_definitions_request_inner.py -sailpoint/v2026/test/test_import_non_employee_records_in_bulk_request.py -sailpoint/v2026/test/test_import_object.py -sailpoint/v2026/test/test_import_options.py -sailpoint/v2026/test/test_import_sp_config_request.py -sailpoint/v2026/test/test_index.py -sailpoint/v2026/test/test_inner_hit.py -sailpoint/v2026/test/test_int64_string_key_value_pair.py -sailpoint/v2026/test/test_invite_identities_request.py -sailpoint/v2026/test/test_invocation.py -sailpoint/v2026/test/test_invocation_status.py -sailpoint/v2026/test/test_invocation_status_type.py -sailpoint/v2026/test/test_jit_configuration.py -sailpoint/v2026/test/test_json_patch.py -sailpoint/v2026/test/test_json_patch_operation.py -sailpoint/v2026/test/test_json_patch_operation_role_mining.py -sailpoint/v2026/test/test_json_patch_operation_role_mining_value.py -sailpoint/v2026/test/test_jwk.py -sailpoint/v2026/test/test_jwks.py -sailpoint/v2026/test/test_kba_answer_request_item.py -sailpoint/v2026/test/test_kba_answer_response_item.py -sailpoint/v2026/test/test_kba_question.py -sailpoint/v2026/test/test_latest_outlier_summary.py -sailpoint/v2026/test/test_launcher.py -sailpoint/v2026/test/test_launcher_owner.py -sailpoint/v2026/test/test_launcher_reference.py -sailpoint/v2026/test/test_launcher_request.py -sailpoint/v2026/test/test_launcher_request_reference.py -sailpoint/v2026/test/test_launchers_api.py -sailpoint/v2026/test/test_license.py -sailpoint/v2026/test/test_lifecycle_state.py -sailpoint/v2026/test/test_lifecycle_state_dto.py -sailpoint/v2026/test/test_lifecycle_states_api.py -sailpoint/v2026/test/test_lifecyclestate_deleted.py -sailpoint/v2026/test/test_list_campaign_filters200_response.py -sailpoint/v2026/test/test_list_complete_workflow_library200_response_inner.py -sailpoint/v2026/test/test_list_deploys200_response.py -sailpoint/v2026/test/test_list_form_definitions_by_tenant_response.py -sailpoint/v2026/test/test_list_form_element_data_by_element_id_response.py -sailpoint/v2026/test/test_list_form_instances_by_tenant_response.py -sailpoint/v2026/test/test_list_identity_access_items200_response_inner.py -sailpoint/v2026/test/test_list_identity_snapshot_access_items200_response_inner.py -sailpoint/v2026/test/test_list_predefined_select_options_response.py -sailpoint/v2026/test/test_list_workgroup_members200_response_inner.py -sailpoint/v2026/test/test_load_accounts_task.py -sailpoint/v2026/test/test_load_accounts_task_task.py -sailpoint/v2026/test/test_load_accounts_task_task_attributes.py -sailpoint/v2026/test/test_load_accounts_task_task_messages_inner.py -sailpoint/v2026/test/test_load_accounts_task_task_returns_inner.py -sailpoint/v2026/test/test_load_entitlement_task.py -sailpoint/v2026/test/test_load_entitlement_task_returns_inner.py -sailpoint/v2026/test/test_load_uncorrelated_accounts_task.py -sailpoint/v2026/test/test_load_uncorrelated_accounts_task_task.py -sailpoint/v2026/test/test_load_uncorrelated_accounts_task_task_attributes.py -sailpoint/v2026/test/test_load_uncorrelated_accounts_task_task_messages_inner.py -sailpoint/v2026/test/test_locale_origin.py -sailpoint/v2026/test/test_localized_message.py -sailpoint/v2026/test/test_lockout_configuration.py -sailpoint/v2026/test/test_lookup_step.py -sailpoint/v2026/test/test_machine_account.py -sailpoint/v2026/test/test_machine_account_classify_api.py -sailpoint/v2026/test/test_machine_account_create_access_dto.py -sailpoint/v2026/test/test_machine_account_create_access_dto_subtypes_inner.py -sailpoint/v2026/test/test_machine_account_create_request_input.py -sailpoint/v2026/test/test_machine_account_creation_request_api.py -sailpoint/v2026/test/test_machine_account_mappings_api.py -sailpoint/v2026/test/test_machine_account_subtype_config_dto.py -sailpoint/v2026/test/test_machine_account_subtype_config_dto_machine_account_create.py -sailpoint/v2026/test/test_machine_account_subtype_config_dto_machine_account_delete.py -sailpoint/v2026/test/test_machine_account_subtypes_api.py -sailpoint/v2026/test/test_machine_accounts_api.py -sailpoint/v2026/test/test_machine_classification_config.py -sailpoint/v2026/test/test_machine_classification_config_api.py -sailpoint/v2026/test/test_machine_classification_criteria_level1.py -sailpoint/v2026/test/test_machine_classification_criteria_level2.py -sailpoint/v2026/test/test_machine_classification_criteria_level3.py -sailpoint/v2026/test/test_machine_classification_criteria_operation.py -sailpoint/v2026/test/test_machine_identities_api.py -sailpoint/v2026/test/test_machine_identity.py -sailpoint/v2026/test/test_machine_identity_aggregation_request.py -sailpoint/v2026/test/test_machine_identity_aggregation_response.py -sailpoint/v2026/test/test_machine_identity_aggregation_response_target.py -sailpoint/v2026/test/test_machine_identity_created.py -sailpoint/v2026/test/test_machine_identity_created_machine_identity.py -sailpoint/v2026/test/test_machine_identity_deleted.py -sailpoint/v2026/test/test_machine_identity_deleted_machine_identity.py -sailpoint/v2026/test/test_machine_identity_dto_owners.py -sailpoint/v2026/test/test_machine_identity_owner_reference.py -sailpoint/v2026/test/test_machine_identity_request.py -sailpoint/v2026/test/test_machine_identity_request_user_entitlements.py -sailpoint/v2026/test/test_machine_identity_response.py -sailpoint/v2026/test/test_machine_identity_response_user_entitlements.py -sailpoint/v2026/test/test_machine_identity_source_reference.py -sailpoint/v2026/test/test_machine_identity_updated.py -sailpoint/v2026/test/test_machine_identity_updated_machine_identity.py -sailpoint/v2026/test/test_machine_identity_updated_owner_changes.py -sailpoint/v2026/test/test_machine_identity_updated_single_value_attribute_changes_inner.py -sailpoint/v2026/test/test_machine_identity_updated_single_value_attribute_changes_inner_new_value.py -sailpoint/v2026/test/test_machine_identity_updated_single_value_attribute_changes_inner_old_value.py -sailpoint/v2026/test/test_machine_identity_updated_user_entitlement_changes.py -sailpoint/v2026/test/test_machine_identity_user_entitlement_response.py -sailpoint/v2026/test/test_machine_identity_user_entitlement_response_entitlement.py -sailpoint/v2026/test/test_machine_identity_user_entitlement_response_source.py -sailpoint/v2026/test/test_machine_identity_user_entitlements.py -sailpoint/v2026/test/test_machine_subtype_approval_config.py -sailpoint/v2026/test/test_mail_from_attributes.py -sailpoint/v2026/test/test_mail_from_attributes_dto.py -sailpoint/v2026/test/test_managed_client.py -sailpoint/v2026/test/test_managed_client_health_indicators.py -sailpoint/v2026/test/test_managed_client_health_indicators_body.py -sailpoint/v2026/test/test_managed_client_health_indicators_body_health_indicators.py -sailpoint/v2026/test/test_managed_client_request.py -sailpoint/v2026/test/test_managed_client_status.py -sailpoint/v2026/test/test_managed_client_status_code.py -sailpoint/v2026/test/test_managed_client_type.py -sailpoint/v2026/test/test_managed_clients_api.py -sailpoint/v2026/test/test_managed_cluster.py -sailpoint/v2026/test/test_managed_cluster_attributes.py -sailpoint/v2026/test/test_managed_cluster_encryption_config.py -sailpoint/v2026/test/test_managed_cluster_key_pair.py -sailpoint/v2026/test/test_managed_cluster_queue.py -sailpoint/v2026/test/test_managed_cluster_redis.py -sailpoint/v2026/test/test_managed_cluster_request.py -sailpoint/v2026/test/test_managed_cluster_type.py -sailpoint/v2026/test/test_managed_cluster_types.py -sailpoint/v2026/test/test_managed_cluster_types_api.py -sailpoint/v2026/test/test_managed_cluster_update_preferences.py -sailpoint/v2026/test/test_managed_clusters_api.py -sailpoint/v2026/test/test_manager_correlation_mapping.py -sailpoint/v2026/test/test_manual_discover_applications.py -sailpoint/v2026/test/test_manual_discover_applications_template.py -sailpoint/v2026/test/test_manual_work_item_details.py -sailpoint/v2026/test/test_manual_work_item_details_current_owner.py -sailpoint/v2026/test/test_manual_work_item_details_original_owner.py -sailpoint/v2026/test/test_manual_work_item_state.py -sailpoint/v2026/test/test_match_term.py -sailpoint/v2026/test/test_medium.py -sailpoint/v2026/test/test_membership_type.py -sailpoint/v2026/test/test_metric_aggregation.py -sailpoint/v2026/test/test_metric_response.py -sailpoint/v2026/test/test_metric_type.py -sailpoint/v2026/test/test_mfa_config_test_response.py -sailpoint/v2026/test/test_mfa_configuration_api.py -sailpoint/v2026/test/test_mfa_duo_config.py -sailpoint/v2026/test/test_mfa_okta_config.py -sailpoint/v2026/test/test_model_schema.py -sailpoint/v2026/test/test_multi_host_integration_api.py -sailpoint/v2026/test/test_multi_host_integration_template_type.py -sailpoint/v2026/test/test_multi_host_integrations.py -sailpoint/v2026/test/test_multi_host_integrations_accounts_file.py -sailpoint/v2026/test/test_multi_host_integrations_agg_schedule_update.py -sailpoint/v2026/test/test_multi_host_integrations_before_provisioning_rule.py -sailpoint/v2026/test/test_multi_host_integrations_connector_attributes.py -sailpoint/v2026/test/test_multi_host_integrations_connector_attributes_connector_file_upload_history.py -sailpoint/v2026/test/test_multi_host_integrations_connector_attributes_multi_host_attributes.py -sailpoint/v2026/test/test_multi_host_integrations_create.py -sailpoint/v2026/test/test_multi_host_integrations_create_sources.py -sailpoint/v2026/test/test_multi_host_integrations_owner.py -sailpoint/v2026/test/test_multi_host_sources.py -sailpoint/v2026/test/test_multi_policy_request.py -sailpoint/v2026/test/test_native_change_detection_config.py -sailpoint/v2026/test/test_nested_aggregation.py -sailpoint/v2026/test/test_nested_config.py -sailpoint/v2026/test/test_network_configuration.py -sailpoint/v2026/test/test_non_employee_approval_decision.py -sailpoint/v2026/test/test_non_employee_approval_item.py -sailpoint/v2026/test/test_non_employee_approval_item_base.py -sailpoint/v2026/test/test_non_employee_approval_item_detail.py -sailpoint/v2026/test/test_non_employee_approval_summary.py -sailpoint/v2026/test/test_non_employee_bulk_upload_job.py -sailpoint/v2026/test/test_non_employee_bulk_upload_status.py -sailpoint/v2026/test/test_non_employee_identity_dto_type.py -sailpoint/v2026/test/test_non_employee_identity_reference_with_id.py -sailpoint/v2026/test/test_non_employee_idn_user_request.py -sailpoint/v2026/test/test_non_employee_lifecycle_management_api.py -sailpoint/v2026/test/test_non_employee_record.py -sailpoint/v2026/test/test_non_employee_reject_approval_decision.py -sailpoint/v2026/test/test_non_employee_request.py -sailpoint/v2026/test/test_non_employee_request_body.py -sailpoint/v2026/test/test_non_employee_request_lite.py -sailpoint/v2026/test/test_non_employee_request_summary.py -sailpoint/v2026/test/test_non_employee_request_without_approval_item.py -sailpoint/v2026/test/test_non_employee_schema_attribute.py -sailpoint/v2026/test/test_non_employee_schema_attribute_body.py -sailpoint/v2026/test/test_non_employee_schema_attribute_type.py -sailpoint/v2026/test/test_non_employee_source.py -sailpoint/v2026/test/test_non_employee_source_lite.py -sailpoint/v2026/test/test_non_employee_source_lite_with_schema_attributes.py -sailpoint/v2026/test/test_non_employee_source_request_body.py -sailpoint/v2026/test/test_non_employee_source_with_cloud_external_id.py -sailpoint/v2026/test/test_non_employee_source_with_ne_count.py -sailpoint/v2026/test/test_notification_template_context.py -sailpoint/v2026/test/test_notifications_api.py -sailpoint/v2026/test/test_o_auth_clients_api.py -sailpoint/v2026/test/test_object_export_import_names.py -sailpoint/v2026/test/test_object_export_import_options.py -sailpoint/v2026/test/test_object_import_result.py -sailpoint/v2026/test/test_object_import_result1.py -sailpoint/v2026/test/test_object_mapping_bulk_create_request.py -sailpoint/v2026/test/test_object_mapping_bulk_create_response.py -sailpoint/v2026/test/test_object_mapping_bulk_patch_request.py -sailpoint/v2026/test/test_object_mapping_bulk_patch_response.py -sailpoint/v2026/test/test_object_mapping_request.py -sailpoint/v2026/test/test_object_mapping_response.py -sailpoint/v2026/test/test_operation.py -sailpoint/v2026/test/test_org_config.py -sailpoint/v2026/test/test_org_config_api.py -sailpoint/v2026/test/test_original_request.py -sailpoint/v2026/test/test_orphan_identities_report_arguments.py -sailpoint/v2026/test/test_outlier.py -sailpoint/v2026/test/test_outlier_contributing_feature.py -sailpoint/v2026/test/test_outlier_feature_summary.py -sailpoint/v2026/test/test_outlier_feature_summary_outlier_feature_display_values_inner.py -sailpoint/v2026/test/test_outlier_feature_translation.py -sailpoint/v2026/test/test_outlier_summary.py -sailpoint/v2026/test/test_outlier_value_type.py -sailpoint/v2026/test/test_outliers_contributing_feature_access_items.py -sailpoint/v2026/test/test_owner_dto.py -sailpoint/v2026/test/test_owner_reference.py -sailpoint/v2026/test/test_owner_reference_segments.py -sailpoint/v2026/test/test_owns.py -sailpoint/v2026/test/test_parameter_storage_api.py -sailpoint/v2026/test/test_parameter_storage_attestation_document.py -sailpoint/v2026/test/test_parameter_storage_json_patch.py -sailpoint/v2026/test/test_parameter_storage_new_parameter.py -sailpoint/v2026/test/test_parameter_storage_parameter.py -sailpoint/v2026/test/test_parameter_storage_reference.py -sailpoint/v2026/test/test_parameter_storage_update_parameter.py -sailpoint/v2026/test/test_password_change_request.py -sailpoint/v2026/test/test_password_change_response.py -sailpoint/v2026/test/test_password_configuration_api.py -sailpoint/v2026/test/test_password_dictionary_api.py -sailpoint/v2026/test/test_password_digit_token.py -sailpoint/v2026/test/test_password_digit_token_reset.py -sailpoint/v2026/test/test_password_info.py -sailpoint/v2026/test/test_password_info_account.py -sailpoint/v2026/test/test_password_info_query_dto.py -sailpoint/v2026/test/test_password_management_api.py -sailpoint/v2026/test/test_password_org_config.py -sailpoint/v2026/test/test_password_policies_api.py -sailpoint/v2026/test/test_password_policy_holders_dto_attributes.py -sailpoint/v2026/test/test_password_policy_holders_dto_attributes_identity_attr_inner.py -sailpoint/v2026/test/test_password_policy_holders_dto_inner.py -sailpoint/v2026/test/test_password_policy_v3_dto.py -sailpoint/v2026/test/test_password_status.py -sailpoint/v2026/test/test_password_sync_group.py -sailpoint/v2026/test/test_password_sync_groups_api.py -sailpoint/v2026/test/test_pat_owner.py -sailpoint/v2026/test/test_peer_group_member.py -sailpoint/v2026/test/test_pending_approval.py -sailpoint/v2026/test/test_pending_approval_action.py -sailpoint/v2026/test/test_pending_approval_owner.py -sailpoint/v2026/test/test_permission_collector_settings.py -sailpoint/v2026/test/test_permission_dto.py -sailpoint/v2026/test/test_personal_access_tokens_api.py -sailpoint/v2026/test/test_pre_approval_trigger_details.py -sailpoint/v2026/test/test_preferences_dto.py -sailpoint/v2026/test/test_preview_data_source_response.py -sailpoint/v2026/test/test_privilege_criteria_api.py -sailpoint/v2026/test/test_privilege_criteria_config_dto.py -sailpoint/v2026/test/test_privilege_criteria_configuration_api.py -sailpoint/v2026/test/test_privilege_criteria_dto.py -sailpoint/v2026/test/test_privilege_criteria_dto_groups_inner.py -sailpoint/v2026/test/test_privilege_criteria_dto_groups_inner_criteria_items_inner.py -sailpoint/v2026/test/test_process_identities_request.py -sailpoint/v2026/test/test_processing_details.py -sailpoint/v2026/test/test_product.py -sailpoint/v2026/test/test_provisioning_completed.py -sailpoint/v2026/test/test_provisioning_completed_account_requests_inner.py -sailpoint/v2026/test/test_provisioning_completed_account_requests_inner_attribute_requests_inner.py -sailpoint/v2026/test/test_provisioning_completed_account_requests_inner_source.py -sailpoint/v2026/test/test_provisioning_completed_recipient.py -sailpoint/v2026/test/test_provisioning_completed_requester.py -sailpoint/v2026/test/test_provisioning_config.py -sailpoint/v2026/test/test_provisioning_config_plan_initializer_script.py -sailpoint/v2026/test/test_provisioning_criteria_level1.py -sailpoint/v2026/test/test_provisioning_criteria_level2.py -sailpoint/v2026/test/test_provisioning_criteria_level3.py -sailpoint/v2026/test/test_provisioning_criteria_operation.py -sailpoint/v2026/test/test_provisioning_details.py -sailpoint/v2026/test/test_provisioning_policy.py -sailpoint/v2026/test/test_provisioning_policy_dto.py -sailpoint/v2026/test/test_provisioning_state.py -sailpoint/v2026/test/test_public_identities_api.py -sailpoint/v2026/test/test_public_identities_config_api.py -sailpoint/v2026/test/test_public_identity.py -sailpoint/v2026/test/test_public_identity_attribute_config.py -sailpoint/v2026/test/test_public_identity_attributes_inner.py -sailpoint/v2026/test/test_public_identity_config.py -sailpoint/v2026/test/test_put_client_log_configuration_request.py -sailpoint/v2026/test/test_put_connector_correlation_config_request.py -sailpoint/v2026/test/test_put_connector_source_config_request.py -sailpoint/v2026/test/test_put_connector_source_template_request.py -sailpoint/v2026/test/test_put_password_dictionary_request.py -sailpoint/v2026/test/test_query.py -sailpoint/v2026/test/test_query_result_filter.py -sailpoint/v2026/test/test_query_type.py -sailpoint/v2026/test/test_queued_check_config_details.py -sailpoint/v2026/test/test_range.py -sailpoint/v2026/test/test_reassign_reference.py -sailpoint/v2026/test/test_reassignment.py -sailpoint/v2026/test/test_reassignment_reference.py -sailpoint/v2026/test/test_reassignment_trail_dto.py -sailpoint/v2026/test/test_reassignment_type.py -sailpoint/v2026/test/test_reassignment_type_enum.py -sailpoint/v2026/test/test_recommendation.py -sailpoint/v2026/test/test_recommendation_config_dto.py -sailpoint/v2026/test/test_recommendation_request.py -sailpoint/v2026/test/test_recommendation_request_dto.py -sailpoint/v2026/test/test_recommendation_response.py -sailpoint/v2026/test/test_recommendation_response_dto.py -sailpoint/v2026/test/test_recommender_calculations.py -sailpoint/v2026/test/test_recommender_calculations_identity_attributes_value.py -sailpoint/v2026/test/test_reelect_request.py -sailpoint/v2026/test/test_ref.py -sailpoint/v2026/test/test_reference.py -sailpoint/v2026/test/test_remediation_item_details.py -sailpoint/v2026/test/test_remediation_items.py -sailpoint/v2026/test/test_replace_stream_configuration_request.py -sailpoint/v2026/test/test_replace_stream_configuration_request_delivery.py -sailpoint/v2026/test/test_report_config_dto.py -sailpoint/v2026/test/test_report_details.py -sailpoint/v2026/test/test_report_details_arguments.py -sailpoint/v2026/test/test_report_result_reference.py -sailpoint/v2026/test/test_report_results.py -sailpoint/v2026/test/test_report_type.py -sailpoint/v2026/test/test_reports_data_extraction_api.py -sailpoint/v2026/test/test_request_on_behalf_of_config.py -sailpoint/v2026/test/test_requestability.py -sailpoint/v2026/test/test_requestability_for_role.py -sailpoint/v2026/test/test_requestable_object.py -sailpoint/v2026/test/test_requestable_object_reference.py -sailpoint/v2026/test/test_requestable_object_request_status.py -sailpoint/v2026/test/test_requestable_object_type.py -sailpoint/v2026/test/test_requestable_objects_api.py -sailpoint/v2026/test/test_requested_account_ref.py -sailpoint/v2026/test/test_requested_for_dto_ref.py -sailpoint/v2026/test/test_requested_item_account_selections.py -sailpoint/v2026/test/test_requested_item_details.py -sailpoint/v2026/test/test_requested_item_dto_ref.py -sailpoint/v2026/test/test_requested_item_status.py -sailpoint/v2026/test/test_requested_item_status_cancelled_request_details.py -sailpoint/v2026/test/test_requested_item_status_pre_approval_trigger_details.py -sailpoint/v2026/test/test_requested_item_status_provisioning_details.py -sailpoint/v2026/test/test_requested_item_status_request_state.py -sailpoint/v2026/test/test_requested_item_status_requested_for.py -sailpoint/v2026/test/test_requested_item_status_requester_comment.py -sailpoint/v2026/test/test_requested_item_status_sod_violation_context.py -sailpoint/v2026/test/test_resource_model.py -sailpoint/v2026/test/test_resource_object.py -sailpoint/v2026/test/test_resource_objects_request.py -sailpoint/v2026/test/test_resource_objects_response.py -sailpoint/v2026/test/test_result.py -sailpoint/v2026/test/test_review_decision.py -sailpoint/v2026/test/test_review_reassign.py -sailpoint/v2026/test/test_review_recommendation.py -sailpoint/v2026/test/test_reviewable_access_profile.py -sailpoint/v2026/test/test_reviewable_entitlement.py -sailpoint/v2026/test/test_reviewable_entitlement_account.py -sailpoint/v2026/test/test_reviewable_entitlement_account_owner.py -sailpoint/v2026/test/test_reviewable_role.py -sailpoint/v2026/test/test_reviewer.py -sailpoint/v2026/test/test_revocability.py -sailpoint/v2026/test/test_revocability_for_role.py -sailpoint/v2026/test/test_right_set_dto.py -sailpoint/v2026/test/test_role.py -sailpoint/v2026/test/test_role_assignment_dto.py -sailpoint/v2026/test/test_role_assignment_dto_assigner.py -sailpoint/v2026/test/test_role_assignment_dto_assignment_context.py -sailpoint/v2026/test/test_role_assignment_ref.py -sailpoint/v2026/test/test_role_assignment_source_type.py -sailpoint/v2026/test/test_role_bulk_delete_request.py -sailpoint/v2026/test/test_role_bulk_update_response.py -sailpoint/v2026/test/test_role_criteria_key.py -sailpoint/v2026/test/test_role_criteria_key_type.py -sailpoint/v2026/test/test_role_criteria_level1.py -sailpoint/v2026/test/test_role_criteria_level2.py -sailpoint/v2026/test/test_role_criteria_level3.py -sailpoint/v2026/test/test_role_criteria_operation.py -sailpoint/v2026/test/test_role_document.py -sailpoint/v2026/test/test_role_document_all_of_dimension_schema_attributes.py -sailpoint/v2026/test/test_role_document_all_of_dimensions.py -sailpoint/v2026/test/test_role_document_all_of_entitlements.py -sailpoint/v2026/test/test_role_document_all_of_entitlements1.py -sailpoint/v2026/test/test_role_get_all_bulk_update_response.py -sailpoint/v2026/test/test_role_identity.py -sailpoint/v2026/test/test_role_insight.py -sailpoint/v2026/test/test_role_insights_api.py -sailpoint/v2026/test/test_role_insights_entitlement.py -sailpoint/v2026/test/test_role_insights_entitlement_changes.py -sailpoint/v2026/test/test_role_insights_identities.py -sailpoint/v2026/test/test_role_insights_insight.py -sailpoint/v2026/test/test_role_insights_response.py -sailpoint/v2026/test/test_role_insights_role.py -sailpoint/v2026/test/test_role_insights_summary.py -sailpoint/v2026/test/test_role_list_filter_dto.py -sailpoint/v2026/test/test_role_list_filter_dto_amm_key_values_inner.py -sailpoint/v2026/test/test_role_match_dto.py -sailpoint/v2026/test/test_role_membership_identity.py -sailpoint/v2026/test/test_role_membership_selector.py -sailpoint/v2026/test/test_role_membership_selector_type.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_filter_request.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_filter_request_values_inner.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_id_request.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_id_request_values_inner.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_query_request.py -sailpoint/v2026/test/test_role_metadata_bulk_update_by_query_request_values_inner.py -sailpoint/v2026/test/test_role_mining_entitlement.py -sailpoint/v2026/test/test_role_mining_entitlement_ref.py -sailpoint/v2026/test/test_role_mining_identity.py -sailpoint/v2026/test/test_role_mining_identity_distribution.py -sailpoint/v2026/test/test_role_mining_identity_distribution_distribution_inner.py -sailpoint/v2026/test/test_role_mining_potential_role.py -sailpoint/v2026/test/test_role_mining_potential_role_application.py -sailpoint/v2026/test/test_role_mining_potential_role_edit_entitlements.py -sailpoint/v2026/test/test_role_mining_potential_role_entitlements.py -sailpoint/v2026/test/test_role_mining_potential_role_export_request.py -sailpoint/v2026/test/test_role_mining_potential_role_export_response.py -sailpoint/v2026/test/test_role_mining_potential_role_export_state.py -sailpoint/v2026/test/test_role_mining_potential_role_potential_role_ref.py -sailpoint/v2026/test/test_role_mining_potential_role_provision_request.py -sailpoint/v2026/test/test_role_mining_potential_role_provision_state.py -sailpoint/v2026/test/test_role_mining_potential_role_ref.py -sailpoint/v2026/test/test_role_mining_potential_role_source_usage.py -sailpoint/v2026/test/test_role_mining_potential_role_summary.py -sailpoint/v2026/test/test_role_mining_potential_role_summary_created_by.py -sailpoint/v2026/test/test_role_mining_role_type.py -sailpoint/v2026/test/test_role_mining_session_draft_role_dto.py -sailpoint/v2026/test/test_role_mining_session_dto.py -sailpoint/v2026/test/test_role_mining_session_parameters_dto.py -sailpoint/v2026/test/test_role_mining_session_response.py -sailpoint/v2026/test/test_role_mining_session_response_created_by.py -sailpoint/v2026/test/test_role_mining_session_scope.py -sailpoint/v2026/test/test_role_mining_session_scoping_method.py -sailpoint/v2026/test/test_role_mining_session_state.py -sailpoint/v2026/test/test_role_mining_session_status.py -sailpoint/v2026/test/test_role_propagation_api.py -sailpoint/v2026/test/test_role_propagation_ongoing_response.py -sailpoint/v2026/test/test_role_propagation_ongoing_response_role_propagation_details.py -sailpoint/v2026/test/test_role_propagation_response.py -sailpoint/v2026/test/test_role_propagation_status_response.py -sailpoint/v2026/test/test_role_propagation_status_response_launched_by.py -sailpoint/v2026/test/test_role_propagation_status_response_terminated_by.py -sailpoint/v2026/test/test_role_summary.py -sailpoint/v2026/test/test_role_target_dto.py -sailpoint/v2026/test/test_roles_api.py -sailpoint/v2026/test/test_saved_search.py -sailpoint/v2026/test/test_saved_search_api.py -sailpoint/v2026/test/test_saved_search_complete.py -sailpoint/v2026/test/test_saved_search_complete_search_results.py -sailpoint/v2026/test/test_saved_search_complete_search_results_account.py -sailpoint/v2026/test/test_saved_search_complete_search_results_entitlement.py -sailpoint/v2026/test/test_saved_search_complete_search_results_identity.py -sailpoint/v2026/test/test_saved_search_detail.py -sailpoint/v2026/test/test_saved_search_detail_filters.py -sailpoint/v2026/test/test_saved_search_name.py -sailpoint/v2026/test/test_schedule.py -sailpoint/v2026/test/test_schedule1.py -sailpoint/v2026/test/test_schedule2.py -sailpoint/v2026/test/test_schedule2_days.py -sailpoint/v2026/test/test_schedule2_hours.py -sailpoint/v2026/test/test_schedule2_months.py -sailpoint/v2026/test/test_schedule_days.py -sailpoint/v2026/test/test_schedule_hours.py -sailpoint/v2026/test/test_schedule_info.py -sailpoint/v2026/test/test_schedule_months.py -sailpoint/v2026/test/test_schedule_type.py -sailpoint/v2026/test/test_scheduled_action_payload.py -sailpoint/v2026/test/test_scheduled_action_payload_content.py -sailpoint/v2026/test/test_scheduled_action_payload_content_backup_options.py -sailpoint/v2026/test/test_scheduled_action_response.py -sailpoint/v2026/test/test_scheduled_action_response_content.py -sailpoint/v2026/test/test_scheduled_action_response_content_backup_options.py -sailpoint/v2026/test/test_scheduled_action_response_content_backup_options_object_options_value.py -sailpoint/v2026/test/test_scheduled_attributes.py -sailpoint/v2026/test/test_scheduled_search.py -sailpoint/v2026/test/test_scheduled_search_all_of_owner.py -sailpoint/v2026/test/test_scheduled_search_api.py -sailpoint/v2026/test/test_scheduled_search_name.py -sailpoint/v2026/test/test_scope.py -sailpoint/v2026/test/test_scope_type.py -sailpoint/v2026/test/test_scope_visibility_type.py -sailpoint/v2026/test/test_search.py -sailpoint/v2026/test/test_search_aggregation_specification.py -sailpoint/v2026/test/test_search_api.py -sailpoint/v2026/test/test_search_arguments.py -sailpoint/v2026/test/test_search_attribute_config.py -sailpoint/v2026/test/test_search_attribute_configuration_api.py -sailpoint/v2026/test/test_search_criteria.py -sailpoint/v2026/test/test_search_criteria_filters_value.py -sailpoint/v2026/test/test_search_criteria_filters_value_range.py -sailpoint/v2026/test/test_search_criteria_filters_value_range_lower.py -sailpoint/v2026/test/test_search_criteria_filters_value_range_upper.py -sailpoint/v2026/test/test_search_criteria_query.py -sailpoint/v2026/test/test_search_criteria_text_query.py -sailpoint/v2026/test/test_search_export_report_arguments.py -sailpoint/v2026/test/test_search_filter_type.py -sailpoint/v2026/test/test_search_form_definitions_by_tenant400_response.py -sailpoint/v2026/test/test_search_schedule.py -sailpoint/v2026/test/test_search_schedule_recipients_inner.py -sailpoint/v2026/test/test_section_details.py -sailpoint/v2026/test/test_sed.py -sailpoint/v2026/test/test_sed_approval.py -sailpoint/v2026/test/test_sed_approval_status.py -sailpoint/v2026/test/test_sed_assignee.py -sailpoint/v2026/test/test_sed_assignment.py -sailpoint/v2026/test/test_sed_assignment_response.py -sailpoint/v2026/test/test_sed_batch_record.py -sailpoint/v2026/test/test_sed_batch_request.py -sailpoint/v2026/test/test_sed_batch_response.py -sailpoint/v2026/test/test_sed_batch_stats.py -sailpoint/v2026/test/test_sed_patch.py -sailpoint/v2026/test/test_segment.py -sailpoint/v2026/test/test_segment_visibility_criteria.py -sailpoint/v2026/test/test_segments_api.py -sailpoint/v2026/test/test_selector.py -sailpoint/v2026/test/test_selector_account_match_config.py -sailpoint/v2026/test/test_selector_account_match_config_match_expression.py -sailpoint/v2026/test/test_self_import_export_dto.py -sailpoint/v2026/test/test_send_account_verification_request.py -sailpoint/v2026/test/test_send_classify_machine_account200_response.py -sailpoint/v2026/test/test_send_classify_machine_account_from_source200_response.py -sailpoint/v2026/test/test_send_test_notification_request_dto.py -sailpoint/v2026/test/test_service_desk_integration_api.py -sailpoint/v2026/test/test_service_desk_integration_dto.py -sailpoint/v2026/test/test_service_desk_integration_template_dto.py -sailpoint/v2026/test/test_service_desk_integration_template_type.py -sailpoint/v2026/test/test_service_desk_source.py -sailpoint/v2026/test/test_service_provider_configuration.py -sailpoint/v2026/test/test_service_provider_configuration_federation_protocol_details_inner.py -sailpoint/v2026/test/test_session_configuration.py -sailpoint/v2026/test/test_set_icon200_response.py -sailpoint/v2026/test/test_set_icon_request.py -sailpoint/v2026/test/test_set_lifecycle_state200_response.py -sailpoint/v2026/test/test_set_lifecycle_state_request.py -sailpoint/v2026/test/test_shared_signals_framework_ssf_api.py -sailpoint/v2026/test/test_sim_integration_details.py -sailpoint/v2026/test/test_sim_integration_details_all_of_before_provisioning_rule.py -sailpoint/v2026/test/test_sim_integrations_api.py -sailpoint/v2026/test/test_slim_campaign.py -sailpoint/v2026/test/test_slim_discovered_applications.py -sailpoint/v2026/test/test_sod_exempt_criteria.py -sailpoint/v2026/test/test_sod_policies_api.py -sailpoint/v2026/test/test_sod_policy.py -sailpoint/v2026/test/test_sod_policy_conflicting_access_criteria.py -sailpoint/v2026/test/test_sod_policy_dto.py -sailpoint/v2026/test/test_sod_policy_dto1.py -sailpoint/v2026/test/test_sod_policy_owner_ref.py -sailpoint/v2026/test/test_sod_policy_schedule.py -sailpoint/v2026/test/test_sod_recipient.py -sailpoint/v2026/test/test_sod_report_result_dto.py -sailpoint/v2026/test/test_sod_violation_check.py -sailpoint/v2026/test/test_sod_violation_check_result.py -sailpoint/v2026/test/test_sod_violation_context.py -sailpoint/v2026/test/test_sod_violation_context_check_completed.py -sailpoint/v2026/test/test_sod_violation_context_conflicting_access_criteria.py -sailpoint/v2026/test/test_sod_violation_context_conflicting_access_criteria_left_criteria.py -sailpoint/v2026/test/test_sod_violations_api.py -sailpoint/v2026/test/test_source.py -sailpoint/v2026/test/test_source1.py -sailpoint/v2026/test/test_source_account_correlation_config.py -sailpoint/v2026/test/test_source_account_correlation_rule.py -sailpoint/v2026/test/test_source_account_created.py -sailpoint/v2026/test/test_source_account_deleted.py -sailpoint/v2026/test/test_source_account_selections.py -sailpoint/v2026/test/test_source_account_updated.py -sailpoint/v2026/test/test_source_app.py -sailpoint/v2026/test/test_source_app_account_source.py -sailpoint/v2026/test/test_source_app_bulk_update_request.py -sailpoint/v2026/test/test_source_app_create_dto.py -sailpoint/v2026/test/test_source_app_create_dto_account_source.py -sailpoint/v2026/test/test_source_app_patch_dto.py -sailpoint/v2026/test/test_source_before_provisioning_rule.py -sailpoint/v2026/test/test_source_classification_status.py -sailpoint/v2026/test/test_source_classification_status_all_of_counts.py -sailpoint/v2026/test/test_source_cluster.py -sailpoint/v2026/test/test_source_cluster_dto.py -sailpoint/v2026/test/test_source_code.py -sailpoint/v2026/test/test_source_connections_dto.py -sailpoint/v2026/test/test_source_created.py -sailpoint/v2026/test/test_source_created_actor.py -sailpoint/v2026/test/test_source_creation_errors.py -sailpoint/v2026/test/test_source_deleted.py -sailpoint/v2026/test/test_source_deleted_actor.py -sailpoint/v2026/test/test_source_entitlement_request_config.py -sailpoint/v2026/test/test_source_health_dto.py -sailpoint/v2026/test/test_source_item_ref.py -sailpoint/v2026/test/test_source_management_workgroup.py -sailpoint/v2026/test/test_source_manager_correlation_mapping.py -sailpoint/v2026/test/test_source_manager_correlation_rule.py -sailpoint/v2026/test/test_source_owner.py -sailpoint/v2026/test/test_source_password_policies_inner.py -sailpoint/v2026/test/test_source_schedule.py -sailpoint/v2026/test/test_source_schemas_inner.py -sailpoint/v2026/test/test_source_subtype.py -sailpoint/v2026/test/test_source_subtype_with_source.py -sailpoint/v2026/test/test_source_subtype_with_source_source.py -sailpoint/v2026/test/test_source_sync_job.py -sailpoint/v2026/test/test_source_sync_payload.py -sailpoint/v2026/test/test_source_updated.py -sailpoint/v2026/test/test_source_updated_actor.py -sailpoint/v2026/test/test_source_usage.py -sailpoint/v2026/test/test_source_usage_status.py -sailpoint/v2026/test/test_source_usages_api.py -sailpoint/v2026/test/test_sources_api.py -sailpoint/v2026/test/test_sp_config_api.py -sailpoint/v2026/test/test_sp_config_export_job.py -sailpoint/v2026/test/test_sp_config_export_job_status.py -sailpoint/v2026/test/test_sp_config_export_results.py -sailpoint/v2026/test/test_sp_config_import_job_status.py -sailpoint/v2026/test/test_sp_config_import_results.py -sailpoint/v2026/test/test_sp_config_job.py -sailpoint/v2026/test/test_sp_config_message.py -sailpoint/v2026/test/test_sp_config_message1.py -sailpoint/v2026/test/test_sp_config_object.py -sailpoint/v2026/test/test_sp_config_rule.py -sailpoint/v2026/test/test_sp_config_rule_value.py -sailpoint/v2026/test/test_sp_config_rules.py -sailpoint/v2026/test/test_sp_details.py -sailpoint/v2026/test/test_standard_level.py -sailpoint/v2026/test/test_start_application_discovery403_response.py -sailpoint/v2026/test/test_start_application_discovery403_response_one_of.py -sailpoint/v2026/test/test_start_invocation_input.py -sailpoint/v2026/test/test_start_launcher200_response.py -sailpoint/v2026/test/test_status_response.py -sailpoint/v2026/test/test_stream_config_response.py -sailpoint/v2026/test/test_stream_status_response.py -sailpoint/v2026/test/test_sub_search_aggregation_specification.py -sailpoint/v2026/test/test_subscription.py -sailpoint/v2026/test/test_subscription_patch_request_inner.py -sailpoint/v2026/test/test_subscription_patch_request_inner_value.py -sailpoint/v2026/test/test_subscription_post_request.py -sailpoint/v2026/test/test_subscription_put_request.py -sailpoint/v2026/test/test_subscription_type.py -sailpoint/v2026/test/test_suggested_entitlement_description_api.py -sailpoint/v2026/test/test_summary_response.py -sailpoint/v2026/test/test_tag.py -sailpoint/v2026/test/test_tag1.py -sailpoint/v2026/test/test_tag_tag_category_refs_inner.py -sailpoint/v2026/test/test_tagged_object.py -sailpoint/v2026/test/test_tagged_object_dto.py -sailpoint/v2026/test/test_tagged_objects_api.py -sailpoint/v2026/test/test_tags_api.py -sailpoint/v2026/test/test_target.py -sailpoint/v2026/test/test_task_definition_summary.py -sailpoint/v2026/test/test_task_info.py -sailpoint/v2026/test/test_task_management_api.py -sailpoint/v2026/test/test_task_result_details.py -sailpoint/v2026/test/test_task_result_details_messages_inner.py -sailpoint/v2026/test/test_task_result_details_returns_inner.py -sailpoint/v2026/test/test_task_result_dto.py -sailpoint/v2026/test/test_task_result_response.py -sailpoint/v2026/test/test_task_result_simplified.py -sailpoint/v2026/test/test_task_return_details.py -sailpoint/v2026/test/test_task_status.py -sailpoint/v2026/test/test_task_status_message.py -sailpoint/v2026/test/test_task_status_message_parameters_inner.py -sailpoint/v2026/test/test_template_bulk_delete_dto.py -sailpoint/v2026/test/test_template_dto.py -sailpoint/v2026/test/test_template_dto_default.py -sailpoint/v2026/test/test_template_dto_slack_template.py -sailpoint/v2026/test/test_template_dto_teams_template.py -sailpoint/v2026/test/test_template_medium_dto.py -sailpoint/v2026/test/test_template_slack.py -sailpoint/v2026/test/test_template_slack_auto_approval_data.py -sailpoint/v2026/test/test_template_slack_custom_fields.py -sailpoint/v2026/test/test_template_teams.py -sailpoint/v2026/test/test_template_variable.py -sailpoint/v2026/test/test_template_variables_dto.py -sailpoint/v2026/test/test_tenant.py -sailpoint/v2026/test/test_tenant_api.py -sailpoint/v2026/test/test_tenant_configuration_details.py -sailpoint/v2026/test/test_tenant_configuration_request.py -sailpoint/v2026/test/test_tenant_configuration_response.py -sailpoint/v2026/test/test_tenant_context_api.py -sailpoint/v2026/test/test_tenant_ui_metadata_item_response.py -sailpoint/v2026/test/test_tenant_ui_metadata_item_update_request.py -sailpoint/v2026/test/test_test_external_execute_workflow200_response.py -sailpoint/v2026/test/test_test_external_execute_workflow_request.py -sailpoint/v2026/test/test_test_invocation.py -sailpoint/v2026/test/test_test_source_connection_multihost200_response.py -sailpoint/v2026/test/test_test_workflow200_response.py -sailpoint/v2026/test/test_test_workflow_request.py -sailpoint/v2026/test/test_text_query.py -sailpoint/v2026/test/test_transform.py -sailpoint/v2026/test/test_transform_definition.py -sailpoint/v2026/test/test_transform_read.py -sailpoint/v2026/test/test_transforms_api.py -sailpoint/v2026/test/test_translation_message.py -sailpoint/v2026/test/test_transmitter_metadata.py -sailpoint/v2026/test/test_trigger.py -sailpoint/v2026/test/test_trigger_example_input.py -sailpoint/v2026/test/test_trigger_example_output.py -sailpoint/v2026/test/test_trigger_type.py -sailpoint/v2026/test/test_triggers_api.py -sailpoint/v2026/test/test_type_ahead_query.py -sailpoint/v2026/test/test_typed_reference.py -sailpoint/v2026/test/test_ui_metadata_api.py -sailpoint/v2026/test/test_uncorrelated_accounts_report_arguments.py -sailpoint/v2026/test/test_update_access_profiles_in_bulk412_response.py -sailpoint/v2026/test/test_update_detail.py -sailpoint/v2026/test/test_update_multi_host_sources_request_inner.py -sailpoint/v2026/test/test_update_multi_host_sources_request_inner_value.py -sailpoint/v2026/test/test_update_schedule_request.py -sailpoint/v2026/test/test_update_stream_config_response.py -sailpoint/v2026/test/test_update_stream_configuration_request.py -sailpoint/v2026/test/test_update_stream_status_request.py -sailpoint/v2026/test/test_usage_type.py -sailpoint/v2026/test/test_user_app.py -sailpoint/v2026/test/test_user_app_account.py -sailpoint/v2026/test/test_user_app_owner.py -sailpoint/v2026/test/test_user_app_source.py -sailpoint/v2026/test/test_user_app_source_app.py -sailpoint/v2026/test/test_user_level_publish_summary.py -sailpoint/v2026/test/test_user_level_request.py -sailpoint/v2026/test/test_user_level_summary_dto.py -sailpoint/v2026/test/test_v3_connector_dto.py -sailpoint/v2026/test/test_v3_create_connector_dto.py -sailpoint/v2026/test/test_va_cluster_status_change_event.py -sailpoint/v2026/test/test_va_cluster_status_change_event_application.py -sailpoint/v2026/test/test_va_cluster_status_change_event_health_check_result.py -sailpoint/v2026/test/test_va_cluster_status_change_event_previous_health_check_result.py -sailpoint/v2026/test/test_validate_filter_input_dto.py -sailpoint/v2026/test/test_validate_filter_output_dto.py -sailpoint/v2026/test/test_value.py -sailpoint/v2026/test/test_verification_request.py -sailpoint/v2026/test/test_violation_context.py -sailpoint/v2026/test/test_violation_context_policy.py -sailpoint/v2026/test/test_violation_owner_assignment_config.py -sailpoint/v2026/test/test_violation_owner_assignment_config_owner_ref.py -sailpoint/v2026/test/test_violation_prediction.py -sailpoint/v2026/test/test_visibility_criteria.py -sailpoint/v2026/test/test_work_item_forward.py -sailpoint/v2026/test/test_work_item_state.py -sailpoint/v2026/test/test_work_item_state_manual_work_items.py -sailpoint/v2026/test/test_work_item_type_manual_work_items.py -sailpoint/v2026/test/test_work_items.py -sailpoint/v2026/test/test_work_items_api.py -sailpoint/v2026/test/test_work_items_count.py -sailpoint/v2026/test/test_work_items_form.py -sailpoint/v2026/test/test_work_items_summary.py -sailpoint/v2026/test/test_work_reassignment_api.py -sailpoint/v2026/test/test_workflow.py -sailpoint/v2026/test/test_workflow_all_of_creator.py -sailpoint/v2026/test/test_workflow_body.py -sailpoint/v2026/test/test_workflow_body_owner.py -sailpoint/v2026/test/test_workflow_definition.py -sailpoint/v2026/test/test_workflow_execution.py -sailpoint/v2026/test/test_workflow_execution_event.py -sailpoint/v2026/test/test_workflow_execution_history.py -sailpoint/v2026/test/test_workflow_library_action.py -sailpoint/v2026/test/test_workflow_library_action_example_output.py -sailpoint/v2026/test/test_workflow_library_form_fields.py -sailpoint/v2026/test/test_workflow_library_operator.py -sailpoint/v2026/test/test_workflow_library_trigger.py -sailpoint/v2026/test/test_workflow_modified_by.py -sailpoint/v2026/test/test_workflow_o_auth_client.py -sailpoint/v2026/test/test_workflow_trigger.py -sailpoint/v2026/test/test_workflow_trigger_attributes.py -sailpoint/v2026/test/test_workflows_api.py -sailpoint/v2026/test/test_workgroup_bulk_delete_request.py -sailpoint/v2026/test/test_workgroup_connection_dto.py -sailpoint/v2026/test/test_workgroup_connection_dto_object.py -sailpoint/v2026/test/test_workgroup_delete_item.py -sailpoint/v2026/test/test_workgroup_dto.py -sailpoint/v2026/test/test_workgroup_dto_owner.py -sailpoint/v2026/test/test_workgroup_member_add_item.py -sailpoint/v2026/test/test_workgroup_member_delete_item.py -sailpoint/v2026_README.md +sailpoint/nerm/Index.md +sailpoint/nerm/__init__.py +sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml +sailpoint/nerm/docs/Methods/Index.md +sailpoint/nerm/v2025/__init__.py +sailpoint/nerm/v2025/api/__init__.py +sailpoint/nerm/v2025/api/delegations_api.py +sailpoint/nerm/v2025/api_client.py +sailpoint/nerm/v2025/api_response.py +sailpoint/nerm/v2025/configuration.py +sailpoint/nerm/v2025/docs/DelegateUser.md +sailpoint/nerm/v2025/docs/Delegation.md +sailpoint/nerm/v2025/docs/Delegation1.md +sailpoint/nerm/v2025/docs/Delegation2.md +sailpoint/nerm/v2025/docs/DelegationsApi.md +sailpoint/nerm/v2025/docs/DelegationsGet200Response.md +sailpoint/nerm/v2025/docs/DelegationsGet500Response.md +sailpoint/nerm/v2025/docs/DelegationsPost201Response.md +sailpoint/nerm/v2025/docs/DelegationsPost404Response.md +sailpoint/nerm/v2025/docs/DelegationsPostRequest.md +sailpoint/nerm/v2025/docs/DelegatorUser.md +sailpoint/nerm/v2025/exceptions.py +sailpoint/nerm/v2025/models/__init__.py +sailpoint/nerm/v2025/models/delegate_user.py +sailpoint/nerm/v2025/models/delegation.py +sailpoint/nerm/v2025/models/delegation1.py +sailpoint/nerm/v2025/models/delegation2.py +sailpoint/nerm/v2025/models/delegations_get200_response.py +sailpoint/nerm/v2025/models/delegations_get500_response.py +sailpoint/nerm/v2025/models/delegations_post201_response.py +sailpoint/nerm/v2025/models/delegations_post404_response.py +sailpoint/nerm/v2025/models/delegations_post_request.py +sailpoint/nerm/v2025/models/delegator_user.py +sailpoint/nerm/v2025/rest.py +sailpoint/nerm/v2025/test/__init__.py +sailpoint/nerm/v2025/test/test_delegate_user.py +sailpoint/nerm/v2025/test/test_delegation.py +sailpoint/nerm/v2025/test/test_delegation1.py +sailpoint/nerm/v2025/test/test_delegation2.py +sailpoint/nerm/v2025/test/test_delegations_api.py +sailpoint/nerm/v2025/test/test_delegations_get200_response.py +sailpoint/nerm/v2025/test/test_delegations_get500_response.py +sailpoint/nerm/v2025/test/test_delegations_post201_response.py +sailpoint/nerm/v2025/test/test_delegations_post404_response.py +sailpoint/nerm/v2025/test/test_delegations_post_request.py +sailpoint/nerm/v2025/test/test_delegator_user.py +sailpoint/nerm/v2025_README.md diff --git a/sailpoint/beta/docs/Models/AccountUsage.md b/sailpoint/beta/docs/Models/AccountUsage.md index dced03305..6d30198f2 100644 --- a/sailpoint/beta/docs/Models/AccountUsage.md +++ b/sailpoint/beta/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.beta.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 464bbb8c2..4636c98b1 100644 --- a/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/beta/docs/Models/SourceUsage.md b/sailpoint/beta/docs/Models/SourceUsage.md index fbcbd7a29..72badf0ff 100644 --- a/sailpoint/beta/docs/Models/SourceUsage.md +++ b/sailpoint/beta/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.beta.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/beta/test/test_account_usage.py b/sailpoint/beta/test/test_account_usage.py index b77fe281a..a5644bea7 100644 --- a/sailpoint/beta/test/test_account_usage.py +++ b/sailpoint/beta/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/beta/test/test_non_employee_request_without_approval_item.py b/sailpoint/beta/test/test_non_employee_request_without_approval_item.py index c17dc939c..b81878344 100644 --- a/sailpoint/beta/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/beta/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/beta/test/test_source_usage.py b/sailpoint/beta/test/test_source_usage.py index 3047bab8c..16baffc28 100644 --- a/sailpoint/beta/test/test_source_usage.py +++ b/sailpoint/beta/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/configuration.py b/sailpoint/configuration.py index ff1c9a74b..89269e8cf 100644 --- a/sailpoint/configuration.py +++ b/sailpoint/configuration.py @@ -24,6 +24,7 @@ def is_socks_proxy_url(url): class ConfigurationParams: base_url = None + nerm_base_url = None client_id = None client_secret = None token_url = None @@ -45,6 +46,7 @@ def __init__(self, configurationParams: ConfigurationParams = None) -> None: self.proxy = configurationParams.proxy if configurationParams and configurationParams.proxy else None self.proxy_headers = configurationParams.proxy_headers if configurationParams and configurationParams.proxy_headers else None self.verify_ssl = configurationParams.verify_ssl if configurationParams and configurationParams.verify_ssl else True + self.nerm_base_url = configurationParams.nerm_base_url if configurationParams and configurationParams.nerm_base_url is not None else defaultConfiguration.nerm_base_url url = f"{self.token_url}" if self.access_token == None: @@ -167,6 +169,11 @@ def get_environment_params(self) -> ConfigurationParams: if os.environ.get("SAIL_CLIENT_SECRET") else None ) + config.nerm_base_url = ( + os.environ.get("SAIL_NERM_BASE_URL") + if os.environ.get("SAIL_NERM_BASE_URL") + else None + ) config.token_url = str(config.base_url) + "/oauth/token" return config @@ -181,6 +188,7 @@ def get_local_params(self) -> ConfigurationParams: config.base_url = data["BaseURL"] config.client_id = data["ClientId"] config.client_secret = data["ClientSecret"] + config.nerm_base_url = data["NermBaseUrl"] config.token_url = config.base_url + "/oauth/token" return config diff --git a/sailpoint/nerm/Index.md b/sailpoint/nerm/Index.md new file mode 100644 index 000000000..90947d3b3 --- /dev/null +++ b/sailpoint/nerm/Index.md @@ -0,0 +1,19 @@ +--- +id: models +title: Models +pagination_label: Models +sidebar_label: Models +sidebar_key: v2025-python-models +sidebar_position: 3 +sidebar_class_name: models +keywords: ['python', 'Python', 'sdk', 'models'] +slug: /tools/sdk/python/v2025/models +tags: ['SDK', 'Software Development Kit', 'v2025', 'models'] +--- + +The Python SDK uses data models to structure and manage data within the API. These models provide essential details about the data, including their attributes, data types, and how the models relate to each other. Understanding these models is crucial to effectively interact with the API. + +## Key Features +- Attributes: Describe each attribute, including its name, data type, and whether it's required. +- Validation & Constraints: Highlight any rules or limitations for the attributes, such as format or length limits. +- Example: Provides a sample of how the API uses the model. \ No newline at end of file diff --git a/sailpoint/nerm/__init__.py b/sailpoint/nerm/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sailpoint/nerm/api/__init__.py b/sailpoint/nerm/api/__init__.py new file mode 100644 index 000000000..61c04dd69 --- /dev/null +++ b/sailpoint/nerm/api/__init__.py @@ -0,0 +1,39 @@ +# flake8: noqa + +# import apis into api package +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api.audits_api import AuditsApi +from sailpoint.nerm.api.consolidation_api import ConsolidationApi +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api.identity_proofing_results_api import IdentityProofingResultsApi +from sailpoint.nerm.api.isc_accounts_api import IscAccountsApi +from sailpoint.nerm.api.job_status_api import JobStatusApi +from sailpoint.nerm.api.languages_api import LanguagesApi +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api.pages_api import PagesApi +from sailpoint.nerm.api.permissions_api import PermissionsApi +from sailpoint.nerm.api.profile_type_roles_api import ProfileTypeRolesApi +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api.risk_levels_api import RiskLevelsApi +from sailpoint.nerm.api.risk_scores_api import RiskScoresApi +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api.synced_attributes_api import SyncedAttributesApi +from sailpoint.nerm.api.system_role_permissions_api import SystemRolePermissionsApi +from sailpoint.nerm.api.system_roles_api import SystemRolesApi +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api.workflow_action_performer_api import WorkflowActionPerformerApi +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api.workflows_api import WorkflowsApi + diff --git a/sailpoint/nerm/api/advanced_search_api.py b/sailpoint/nerm/api/advanced_search_api.py new file mode 100644 index 000000000..ffe12c6b7 --- /dev/null +++ b/sailpoint/nerm/api/advanced_search_api.py @@ -0,0 +1,1493 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_advanced_search200_response import GetAdvancedSearch200Response +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class AdvancedSearchApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_advanced_search( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAdvancedSearch200Response: + """Get saved advanced search queries + + Get saved advanced search queries + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_advanced_search_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_advanced_search_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAdvancedSearch200Response]: + """Get saved advanced search queries + + Get saved advanced search queries + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_advanced_search_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_advanced_search_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get saved advanced search queries + + Get saved advanced search queries + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_advanced_search_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_advanced_search_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/advanced_search', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_advanced_search( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAdvancedSearch200Response: + """Update a saved advanced search + + Update a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_advanced_search_serialize( + id=id, + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_advanced_search_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAdvancedSearch200Response]: + """Update a saved advanced search + + Update a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_advanced_search_serialize( + id=id, + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_advanced_search_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a saved advanced search + + Update a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_advanced_search_serialize( + id=id, + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_advanced_search_serialize( + self, + id, + submit_advanced_search_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_advanced_search_request is not None: + _body_params = submit_advanced_search_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/advanced_search/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def search_advanced_search( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SearchAdvancedSearch200Response: + """Run profiles advanced search + + Run an advanced search for profiles, without saving the query + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_advanced_search_with_http_info( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SearchAdvancedSearch200Response]: + """Run profiles advanced search + + Run an advanced search for profiles, without saving the query + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_advanced_search_without_preload_content( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Run profiles advanced search + + Run an advanced search for profiles, without saving the query + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_advanced_search_serialize( + self, + submit_advanced_search_request, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + if submit_advanced_search_request is not None: + _body_params = submit_advanced_search_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/advanced_search/run', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def search_advanced_searchby_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SearchAdvancedSearch200Response: + """Run a saved advanced search + + Run a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_searchby_id_serialize( + id=id, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_advanced_searchby_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SearchAdvancedSearch200Response]: + """Run a saved advanced search + + Run a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_searchby_id_serialize( + id=id, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_advanced_searchby_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Run a saved advanced search + + Run a saved advanced search query + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_advanced_searchby_id_serialize( + id=id, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_advanced_searchby_id_serialize( + self, + id, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/advanced_search/{id}/run', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_advanced_search( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAdvancedSearch200Response: + """Save an advanced search query + + Save an advanced search query for later use + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_advanced_search_with_http_info( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAdvancedSearch200Response]: + """Save an advanced search query + + Save an advanced search query for later use + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_advanced_search_without_preload_content( + self, + submit_advanced_search_request: SubmitAdvancedSearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Save an advanced search query + + Save an advanced search query for later use + + :param submit_advanced_search_request: (required) + :type submit_advanced_search_request: SubmitAdvancedSearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_advanced_search_serialize( + submit_advanced_search_request=submit_advanced_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAdvancedSearch200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_advanced_search_serialize( + self, + submit_advanced_search_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_advanced_search_request is not None: + _body_params = submit_advanced_search_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/advanced_search', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/attribute_options_api.py b/sailpoint/nerm/api/attribute_options_api.py new file mode 100644 index 000000000..bce1a8ef1 --- /dev/null +++ b/sailpoint/nerm/api/attribute_options_api.py @@ -0,0 +1,2886 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response +from sailpoint.nerm.models.get_attribute_options200_response import GetAttributeOptions200Response +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class AttributeOptionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_attribute_option_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteAttributeOptionById200Response: + """Delete option based attribute value + + Delete a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_attribute_option_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteAttributeOptionById200Response]: + """Delete option based attribute value + + Delete a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_attribute_option_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete option based attribute value + + Delete a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_attribute_option_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/ne_attribute_options/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_attribute_option_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteAttributeOptionById200Response: + """Delete option value + + Delete a option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_attribute_option_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteAttributeOptionById200Response]: + """Delete option value + + Delete a option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_attribute_option_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete option value + + Delete a option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAttributeOptionById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_attribute_option_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/ne_attribute_options/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attribute_option_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOption200Response: + """Find option based attribute value + + Info for a specific option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attribute_option_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOption200Response]: + """Find option based attribute value + + Info for a specific option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attribute_option_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find option based attribute value + + Info for a specific option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attribute_option_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attribute_options/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attribute_option_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOption200Response: + """Find option attribute value + + Get a specific option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attribute_option_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOption200Response]: + """Find option attribute value + + Get a specific option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attribute_option_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find option attribute value + + Get a specific option based attribute value by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_option_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attribute_option_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attribute_options/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attribute_options( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAttributeOptions200Response: + """Get option based attribute values + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_options_serialize( + limit=limit, + offset=offset, + order=order, + ne_attribute_id=ne_attribute_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attribute_options_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAttributeOptions200Response]: + """Get option based attribute values + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_options_serialize( + limit=limit, + offset=offset, + order=order, + ne_attribute_id=ne_attribute_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attribute_options_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get option based attribute values + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_options_serialize( + limit=limit, + offset=offset, + order=order, + ne_attribute_id=ne_attribute_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attribute_options_serialize( + self, + limit, + offset, + order, + ne_attribute_id, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if ne_attribute_id is not None: + + _query_params.append(('ne_attribute_id', ne_attribute_id)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attribute_options', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_attribute_option_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOption200Response: + """Update option based attribute value + + Update a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_id_serialize( + id=id, + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_attribute_option_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOption200Response]: + """Update option based attribute value + + Update a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_id_serialize( + id=id, + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_attribute_option_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update option based attribute value + + Update a option based attribute value by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_id_serialize( + id=id, + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_attribute_option_by_id_serialize( + self, + id, + submit_attribute_option_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_attribute_option_request is not None: + _body_params = submit_attribute_option_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/ne_attribute_options/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_attribute_option_by_uid( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOption200Response: + """Update option value + + Update a option based attribute value by UID (user-specified identifier) + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_uid_serialize( + submit_attribute_option_request=submit_attribute_option_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_attribute_option_by_uid_with_http_info( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOption200Response]: + """Update option value + + Update a option based attribute value by UID (user-specified identifier) + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_uid_serialize( + submit_attribute_option_request=submit_attribute_option_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_attribute_option_by_uid_without_preload_content( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update option value + + Update a option based attribute value by UID (user-specified identifier) + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_option_by_uid_serialize( + submit_attribute_option_request=submit_attribute_option_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_attribute_option_by_uid_serialize( + self, + submit_attribute_option_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_attribute_option_request is not None: + _body_params = submit_attribute_option_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/ne_attribute_options/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_attribute_options( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOptions200Response: + """Update multiple option values + + Update multiple option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_attribute_options_with_http_info( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOptions200Response]: + """Update multiple option values + + Update multiple option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_attribute_options_without_preload_content( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple option values + + Update multiple option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_attribute_options_serialize( + self, + submit_attribute_options_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_attribute_options_request is not None: + _body_params = submit_attribute_options_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/ne_attribute_options', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_attribute_option( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOption200Response: + """Add value to option + + Adds a value to an option based attribute + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_option_serialize( + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_attribute_option_with_http_info( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOption200Response]: + """Add value to option + + Adds a value to an option based attribute + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_option_serialize( + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_attribute_option_without_preload_content( + self, + submit_attribute_option_request: SubmitAttributeOptionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Add value to option + + Adds a value to an option based attribute + + :param submit_attribute_option_request: (required) + :type submit_attribute_option_request: SubmitAttributeOptionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_option_serialize( + submit_attribute_option_request=submit_attribute_option_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOption200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_attribute_option_serialize( + self, + submit_attribute_option_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_attribute_option_request is not None: + _body_params = submit_attribute_option_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/ne_attribute_option', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_attribute_options( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitAttributeOptions200Response: + """Create multiple option values + + Create multiple new option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_attribute_options_with_http_info( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitAttributeOptions200Response]: + """Create multiple option values + + Create multiple new option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_attribute_options_without_preload_content( + self, + submit_attribute_options_request: SubmitAttributeOptionsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple option values + + Create multiple new option based attribute values + + :param submit_attribute_options_request: (required) + :type submit_attribute_options_request: SubmitAttributeOptionsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_attribute_options_serialize( + submit_attribute_options_request=submit_attribute_options_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitAttributeOptions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_attribute_options_serialize( + self, + submit_attribute_options_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_attribute_options_request is not None: + _body_params = submit_attribute_options_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/ne_attribute_options', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/attributes_api.py b/sailpoint/nerm/api/attributes_api.py new file mode 100644 index 000000000..476c51214 --- /dev/null +++ b/sailpoint/nerm/api/attributes_api.py @@ -0,0 +1,2341 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest +from sailpoint.nerm.models.get_attributes200_response import GetAttributes200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class AttributesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_attribute( + self, + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Create an attribute + + This endpoint can create an attribute + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_attribute_serialize( + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_attribute_with_http_info( + self, + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Create an attribute + + This endpoint can create an attribute + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_attribute_serialize( + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_attribute_without_preload_content( + self, + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an attribute + + This endpoint can create an attribute + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_attribute_serialize( + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_attribute_serialize( + self, + create_attribute_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_attribute_request is not None: + _body_params = create_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/ne_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Delete attribute by id + + Delete attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Delete attribute by id + + Delete attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete attribute by id + + Delete attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_attribute_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/ne_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_attribute_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Delete attribute + + Delete attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_attribute_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Delete attribute + + Delete attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_attribute_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete attribute + + Delete attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_attribute_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/ne_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Find attribute data by id + + Info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Find attribute data by id + + Info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find attribute data by id + + Info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attribute_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attribute_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Find attribute data + + Info for a specific attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attribute_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Find attribute data + + Info for a specific attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attribute_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find attribute data + + Info for a specific attribute by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attribute_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_attributes( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + data_type: Annotated[Optional[StrictStr], Field(description="The attribute data type to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAttributes200Response: + """Get attribute data in bulk + + This endpoint can retrieve attribute data in bulk from Lifecycle or you can search for attributes using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param data_type: The attribute data type to filter by + :type data_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attributes_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + data_type=data_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_attributes_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + data_type: Annotated[Optional[StrictStr], Field(description="The attribute data type to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAttributes200Response]: + """Get attribute data in bulk + + This endpoint can retrieve attribute data in bulk from Lifecycle or you can search for attributes using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param data_type: The attribute data type to filter by + :type data_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attributes_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + data_type=data_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_attributes_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + data_type: Annotated[Optional[StrictStr], Field(description="The attribute data type to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get attribute data in bulk + + This endpoint can retrieve attribute data in bulk from Lifecycle or you can search for attributes using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param data_type: The attribute data type to filter by + :type data_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_attributes_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + data_type=data_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_attributes_serialize( + self, + limit, + offset, + order, + label, + data_type, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if label is not None: + + _query_params.append(('label', label)) + + if data_type is not None: + + _query_params.append(('data_type', data_type)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/ne_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Update attribute data by id + + Update info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_id_serialize( + id=id, + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Update attribute data by id + + Update info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_id_serialize( + id=id, + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_attribute_request: CreateAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update attribute data by id + + Update info for a specific attribute + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_id_serialize( + id=id, + create_attribute_request=create_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_attribute_by_id_serialize( + self, + id, + create_attribute_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_attribute_request is not None: + _body_params = create_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/ne_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_attribute_by_uid( + self, + create_attribute_request: CreateAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Update attribute data + + Update info for a specific attribute by UID (user-specified identifier) + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_uid_serialize( + create_attribute_request=create_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_attribute_by_uid_with_http_info( + self, + create_attribute_request: CreateAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Update attribute data + + Update info for a specific attribute by UID (user-specified identifier) + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_uid_serialize( + create_attribute_request=create_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_attribute_by_uid_without_preload_content( + self, + create_attribute_request: CreateAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update attribute data + + Update info for a specific attribute by UID (user-specified identifier) + + :param create_attribute_request: (required) + :type create_attribute_request: CreateAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_attribute_by_uid_serialize( + create_attribute_request=create_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_attribute_by_uid_serialize( + self, + create_attribute_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_attribute_request is not None: + _body_params = create_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/ne_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/audits_api.py b/sailpoint/nerm/api/audits_api.py new file mode 100644 index 000000000..06138ade5 --- /dev/null +++ b/sailpoint/nerm/api/audits_api.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.search200_response import Search200Response +from sailpoint.nerm.models.search_request import SearchRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class AuditsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def search( + self, + search_request: SearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Search200Response: + """Query for Audit events + + This endpoint provides a search engine for Audit Events by optionally combining subject_type, type, and subject_id to narrow down the audit events. A Subject Type of Profile links up to the AuditableProfile types. An Subject Type of WorkflowSession links up to the AuditableWorkflow types. An Subject Type of Get/Post/Patch/Delete links up to the AuditableApi types. The remaining Subject Types link up to the ActiveRecord types (configuration changes). - Any workflow audit event created as of 10/11/2024 will be able to be queried by workflow name, workflow uid, or workflow profile type. - Any profile audit event created as of 10/11/2024 will be able to be queried by profile type. - The entity_type parameter has been updated to subject_type, which now matches what is in the response object. - With the additional query filters added, there is a max of 5 filter parameters at one time (aside from pagination parameters) To accommodate these changes, an API contract change was required. Please read the updated API documentation for the new request syntax. + + :param search_request: (required) + :type search_request: SearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Search200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_with_http_info( + self, + search_request: SearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Search200Response]: + """Query for Audit events + + This endpoint provides a search engine for Audit Events by optionally combining subject_type, type, and subject_id to narrow down the audit events. A Subject Type of Profile links up to the AuditableProfile types. An Subject Type of WorkflowSession links up to the AuditableWorkflow types. An Subject Type of Get/Post/Patch/Delete links up to the AuditableApi types. The remaining Subject Types link up to the ActiveRecord types (configuration changes). - Any workflow audit event created as of 10/11/2024 will be able to be queried by workflow name, workflow uid, or workflow profile type. - Any profile audit event created as of 10/11/2024 will be able to be queried by profile type. - The entity_type parameter has been updated to subject_type, which now matches what is in the response object. - With the additional query filters added, there is a max of 5 filter parameters at one time (aside from pagination parameters) To accommodate these changes, an API contract change was required. Please read the updated API documentation for the new request syntax. + + :param search_request: (required) + :type search_request: SearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Search200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_without_preload_content( + self, + search_request: SearchRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Query for Audit events + + This endpoint provides a search engine for Audit Events by optionally combining subject_type, type, and subject_id to narrow down the audit events. A Subject Type of Profile links up to the AuditableProfile types. An Subject Type of WorkflowSession links up to the AuditableWorkflow types. An Subject Type of Get/Post/Patch/Delete links up to the AuditableApi types. The remaining Subject Types link up to the ActiveRecord types (configuration changes). - Any workflow audit event created as of 10/11/2024 will be able to be queried by workflow name, workflow uid, or workflow profile type. - Any profile audit event created as of 10/11/2024 will be able to be queried by profile type. - The entity_type parameter has been updated to subject_type, which now matches what is in the response object. - With the additional query filters added, there is a max of 5 filter parameters at one time (aside from pagination parameters) To accommodate these changes, an API contract change was required. Please read the updated API documentation for the new request syntax. + + :param search_request: (required) + :type search_request: SearchRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Search200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_serialize( + self, + search_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if search_request is not None: + _body_params = search_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/audit_events/query', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/consolidation_api.py b/sailpoint/nerm/api/consolidation_api.py new file mode 100644 index 000000000..e2e1bb087 --- /dev/null +++ b/sailpoint/nerm/api/consolidation_api.py @@ -0,0 +1,602 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from sailpoint.nerm.models.data_records import DataRecords + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class ConsolidationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_master_record( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete a master record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to delete a master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_master_record_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_master_record_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete a master record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to delete a master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_master_record_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_master_record_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a master record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to delete a master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_master_record_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_master_record_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/idproxy/identities/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_data_record( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + data_records: DataRecords, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Reassign data record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to reassign a data record to a new master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param data_records: (required) + :type data_records: DataRecords + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_data_record_serialize( + id=id, + data_records=data_records, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_data_record_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + data_records: DataRecords, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Reassign data record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to reassign a data record to a new master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param data_records: (required) + :type data_records: DataRecords + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_data_record_serialize( + id=id, + data_records=data_records, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_data_record_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + data_records: DataRecords, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Reassign data record + + Consolidation is a deprecated feature, this endpoint provides a mechanism to reassign a data record to a new master record to assist customers. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param data_records: (required) + :type data_records: DataRecords + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_data_record_serialize( + id=id, + data_records=data_records, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_data_record_serialize( + self, + id, + data_records, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if data_records is not None: + _body_params = data_records + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/idproxy/data_records/{id}/reassign', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/delegations_api.py b/sailpoint/nerm/api/delegations_api.py new file mode 100644 index 000000000..3f82fa35a --- /dev/null +++ b/sailpoint/nerm/api/delegations_api.py @@ -0,0 +1,1506 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class DelegationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delegations_get( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsGet200Response: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + metadata=metadata, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_get_with_http_info( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsGet200Response]: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + metadata=metadata, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_get_without_preload_content( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + metadata=metadata, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_get_serialize( + self, + delegate_id, + delegator_id, + expired, + metadata, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if delegate_id is not None: + + _query_params.append(('delegate_id', delegate_id)) + + if delegator_id is not None: + + _query_params.append(('delegator_id', delegator_id)) + + if expired is not None: + + _query_params.append(('expired', expired)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/delegations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_delete( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_delete_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_delete_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_delete_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_get( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_get_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_get_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_get_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_patch( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_patch_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_patch_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_patch_serialize( + self, + id, + delegations_post_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if delegations_post_request is not None: + _body_params = delegations_post_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_post( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_post_with_http_info( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_post_without_preload_content( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_post_serialize( + self, + delegations_post_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if delegations_post_request is not None: + _body_params = delegations_post_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/delegations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/form_attributes_api.py b/sailpoint/nerm/api/form_attributes_api.py new file mode 100644 index 000000000..2972aeebd --- /dev/null +++ b/sailpoint/nerm/api/form_attributes_api.py @@ -0,0 +1,2259 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class FormAttributesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_form_attribute( + self, + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Create a form attribute + + This endpoint can create a form attribute + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_attribute_serialize( + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_form_attribute_with_http_info( + self, + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Create a form attribute + + This endpoint can create a form attribute + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_attribute_serialize( + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_form_attribute_without_preload_content( + self, + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a form attribute + + This endpoint can create a form attribute + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_attribute_serialize( + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_form_attribute_serialize( + self, + create_form_attribute_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_form_attribute_request is not None: + _body_params = create_form_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/form_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_form_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Delete form attribute + + Delete form attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_form_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Delete form attribute + + Delete form attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_form_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete form attribute + + Delete form attribute by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_form_attribute_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/form_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_form_attribute_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Delete form attribute + + Delete form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_form_attribute_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Delete form attribute + + Delete form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_form_attribute_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete form attribute + + Delete form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_form_attribute_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/form_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_form_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Get form attribute data + + Gets info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_form_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Get form attribute data + + Gets info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_form_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get form attribute data + + Gets info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_form_attribute_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/form_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_form_attribute_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Get form attribute data + + Get info for a specific form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_form_attribute_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Get form attribute data + + Get info for a specific form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_form_attribute_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get form attribute data + + Get info for a specific form attribute by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attribute_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_form_attribute_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/form_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_form_attributes( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Get form attributes + + Get defined form attribute in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attributes_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_form_attributes_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Get form attributes + + Get defined form attribute in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attributes_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_form_attributes_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get form attributes + + Get defined form attribute in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_attributes_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_form_attributes_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/form_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_form_attribute_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Update form attribute data + + Update info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_id_serialize( + id=id, + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_form_attribute_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Update form attribute data + + Update info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_id_serialize( + id=id, + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_form_attribute_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_form_attribute_request: CreateFormAttributeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update form attribute data + + Update info for a specific form attribute by ID + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_id_serialize( + id=id, + create_form_attribute_request=create_form_attribute_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_form_attribute_by_id_serialize( + self, + id, + create_form_attribute_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_form_attribute_request is not None: + _body_params = create_form_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/form_attributes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_form_attribute_by_uid( + self, + create_form_attribute_request: CreateFormAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFormAttributes200Response: + """Update form attribute data + + Update info for a specific form attribute by UID + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_uid_serialize( + create_form_attribute_request=create_form_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_form_attribute_by_uid_with_http_info( + self, + create_form_attribute_request: CreateFormAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFormAttributes200Response]: + """Update form attribute data + + Update info for a specific form attribute by UID + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_uid_serialize( + create_form_attribute_request=create_form_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_form_attribute_by_uid_without_preload_content( + self, + create_form_attribute_request: CreateFormAttributeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update form attribute data + + Update info for a specific form attribute by UID + + :param create_form_attribute_request: (required) + :type create_form_attribute_request: CreateFormAttributeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_attribute_by_uid_serialize( + create_form_attribute_request=create_form_attribute_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFormAttributes200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_form_attribute_by_uid_serialize( + self, + create_form_attribute_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_form_attribute_request is not None: + _body_params = create_form_attribute_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/form_attributes/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/forms_api.py b/sailpoint/nerm/api/forms_api.py new file mode 100644 index 000000000..04215059a --- /dev/null +++ b/sailpoint/nerm/api/forms_api.py @@ -0,0 +1,2261 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_form_request import CreateFormRequest +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class FormsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_form( + self, + create_form_request: CreateFormRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetForms200Response: + """Create a form + + This endpoint can create a form + + :param create_form_request: (required) + :type create_form_request: CreateFormRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_serialize( + create_form_request=create_form_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_form_with_http_info( + self, + create_form_request: CreateFormRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetForms200Response]: + """Create a form + + This endpoint can create a form + + :param create_form_request: (required) + :type create_form_request: CreateFormRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_serialize( + create_form_request=create_form_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_form_without_preload_content( + self, + create_form_request: CreateFormRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a form + + This endpoint can create a form + + :param create_form_request: (required) + :type create_form_request: CreateFormRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_form_serialize( + create_form_request=create_form_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_form_serialize( + self, + create_form_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_form_request is not None: + _body_params = create_form_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/forms', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_form_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Delete form by id + + Delete form by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_form_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Delete form by id + + Delete form by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_form_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete form by id + + Delete form by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_form_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/forms/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_form_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Delete form by UID + + Delete form by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_form_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Delete form by UID + + Delete form by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_form_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete form by UID + + Delete form by UID + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_form_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/forms/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_form_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetForms200Response: + """Get form data by Id + + Info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_form_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetForms200Response]: + """Get form data by Id + + Info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_form_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get form data by Id + + Info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_form_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/forms/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_form_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetForms200Response: + """Get form data by UID + + Info for a specific form + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_form_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetForms200Response]: + """Get form data by UID + + Info for a specific form + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_form_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get form data by UID + + Info for a specific form + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_form_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_form_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/forms/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_forms( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetForms200Response: + """Get forms + + Get defined forms in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_forms_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_forms_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetForms200Response]: + """Get forms + + Get defined forms in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_forms_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_forms_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get forms + + Get defined forms in the system + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_forms_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetForms200Response", + '400': "GetAttributes400Response", + '404': "DelegationsPost404Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_forms_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/forms', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_form_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_form_by_id_request: UpdateFormByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Update form data by id + + Update info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_id_serialize( + id=id, + update_form_by_id_request=update_form_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_form_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_form_by_id_request: UpdateFormByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Update form data by id + + Update info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_id_serialize( + id=id, + update_form_by_id_request=update_form_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_form_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_form_by_id_request: UpdateFormByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update form data by id + + Update info for a specific form + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_id_serialize( + id=id, + update_form_by_id_request=update_form_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_form_by_id_serialize( + self, + id, + update_form_by_id_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_form_by_id_request is not None: + _body_params = update_form_by_id_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/forms/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_form_by_uid( + self, + update_form_by_id_request: UpdateFormByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateAttribute201Response: + """Update form data by UID + + Update info for a specific form + + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_uid_serialize( + update_form_by_id_request=update_form_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_form_by_uid_with_http_info( + self, + update_form_by_id_request: UpdateFormByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateAttribute201Response]: + """Update form data by UID + + Update info for a specific form + + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_uid_serialize( + update_form_by_id_request=update_form_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_form_by_uid_without_preload_content( + self, + update_form_by_id_request: UpdateFormByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update form data by UID + + Update info for a specific form + + :param update_form_by_id_request: (required) + :type update_form_by_id_request: UpdateFormByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_form_by_uid_serialize( + update_form_by_id_request=update_form_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAttribute201Response", + '404': "DelegationsPost404Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_form_by_uid_serialize( + self, + update_form_by_id_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_form_by_id_request is not None: + _body_params = update_form_by_id_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/forms/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/identity_proofing_results_api.py b/sailpoint/nerm/api/identity_proofing_results_api.py new file mode 100644 index 000000000..1d49c3748 --- /dev/null +++ b/sailpoint/nerm/api/identity_proofing_results_api.py @@ -0,0 +1,405 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_identity_proofing_results200_response import GetIdentityProofingResults200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class IdentityProofingResultsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_identity_proofing_results( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + workflow_session_id: Annotated[Optional[StrictStr], Field(description="Workflow Session ID to filter by")] = None, + result: Annotated[Optional[StrictStr], Field(description="ID Proofing Result to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetIdentityProofingResults200Response: + """Get identity proofing result data + + Retrieves identity proofing result data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param workflow_session_id: Workflow Session ID to filter by + :type workflow_session_id: str + :param result: ID Proofing Result to filter by + :type result: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_identity_proofing_results_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + workflow_session_id=workflow_session_id, + result=result, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdentityProofingResults200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_identity_proofing_results_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + workflow_session_id: Annotated[Optional[StrictStr], Field(description="Workflow Session ID to filter by")] = None, + result: Annotated[Optional[StrictStr], Field(description="ID Proofing Result to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetIdentityProofingResults200Response]: + """Get identity proofing result data + + Retrieves identity proofing result data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param workflow_session_id: Workflow Session ID to filter by + :type workflow_session_id: str + :param result: ID Proofing Result to filter by + :type result: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_identity_proofing_results_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + workflow_session_id=workflow_session_id, + result=result, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdentityProofingResults200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_identity_proofing_results_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + workflow_session_id: Annotated[Optional[StrictStr], Field(description="Workflow Session ID to filter by")] = None, + result: Annotated[Optional[StrictStr], Field(description="ID Proofing Result to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get identity proofing result data + + Retrieves identity proofing result data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param workflow_session_id: Workflow Session ID to filter by + :type workflow_session_id: str + :param result: ID Proofing Result to filter by + :type result: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_identity_proofing_results_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + workflow_session_id=workflow_session_id, + result=result, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdentityProofingResults200Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_identity_proofing_results_serialize( + self, + limit, + offset, + order, + profile_id, + workflow_session_id, + result, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if profile_id is not None: + + _query_params.append(('profile_id', profile_id)) + + if workflow_session_id is not None: + + _query_params.append(('workflow_session_id', workflow_session_id)) + + if result is not None: + + _query_params.append(('result', result)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/identity_proofing_results', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/isc_accounts_api.py b/sailpoint/nerm/api/isc_accounts_api.py new file mode 100644 index 000000000..3ea302591 --- /dev/null +++ b/sailpoint/nerm/api/isc_accounts_api.py @@ -0,0 +1,960 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.update_profile_request import UpdateProfileRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class IscAccountsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_schema_mapped_profiles_collection( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + use_schema: Annotated[Optional[StrictBool], Field(description="The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true.")] = None, + override_sync_toggle: Annotated[Optional[StrictBool], Field(description="The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true.")] = None, + category: Annotated[Optional[StrictStr], Field(description="Filters profiles by profile type category")] = None, + status: Annotated[Optional[StrictStr], Field(description="The status of the profile. It can be multiple values with comma separated.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSchemaMappedProfilesCollection200Response: + """Get Profiles + + Retrieve schema-mapped profiles collection. It returns a collection of stored profiles, optionally using schema-mapped field names if requested. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param use_schema: The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. + :type use_schema: bool + :param override_sync_toggle: The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. + :type override_sync_toggle: bool + :param category: Filters profiles by profile type category + :type category: str + :param status: The status of the profile. It can be multiple values with comma separated. + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_schema_mapped_profiles_collection_serialize( + limit=limit, + offset=offset, + use_schema=use_schema, + override_sync_toggle=override_sync_toggle, + category=category, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_schema_mapped_profiles_collection_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + use_schema: Annotated[Optional[StrictBool], Field(description="The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true.")] = None, + override_sync_toggle: Annotated[Optional[StrictBool], Field(description="The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true.")] = None, + category: Annotated[Optional[StrictStr], Field(description="Filters profiles by profile type category")] = None, + status: Annotated[Optional[StrictStr], Field(description="The status of the profile. It can be multiple values with comma separated.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSchemaMappedProfilesCollection200Response]: + """Get Profiles + + Retrieve schema-mapped profiles collection. It returns a collection of stored profiles, optionally using schema-mapped field names if requested. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param use_schema: The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. + :type use_schema: bool + :param override_sync_toggle: The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. + :type override_sync_toggle: bool + :param category: Filters profiles by profile type category + :type category: str + :param status: The status of the profile. It can be multiple values with comma separated. + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_schema_mapped_profiles_collection_serialize( + limit=limit, + offset=offset, + use_schema=use_schema, + override_sync_toggle=override_sync_toggle, + category=category, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_schema_mapped_profiles_collection_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + use_schema: Annotated[Optional[StrictBool], Field(description="The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true.")] = None, + override_sync_toggle: Annotated[Optional[StrictBool], Field(description="The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true.")] = None, + category: Annotated[Optional[StrictStr], Field(description="Filters profiles by profile type category")] = None, + status: Annotated[Optional[StrictStr], Field(description="The status of the profile. It can be multiple values with comma separated.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Profiles + + Retrieve schema-mapped profiles collection. It returns a collection of stored profiles, optionally using schema-mapped field names if requested. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param use_schema: The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. + :type use_schema: bool + :param override_sync_toggle: The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. + :type override_sync_toggle: bool + :param category: Filters profiles by profile type category + :type category: str + :param status: The status of the profile. It can be multiple values with comma separated. + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_schema_mapped_profiles_collection_serialize( + limit=limit, + offset=offset, + use_schema=use_schema, + override_sync_toggle=override_sync_toggle, + category=category, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_schema_mapped_profiles_collection_serialize( + self, + limit, + offset, + use_schema, + override_sync_toggle, + category, + status, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if use_schema is not None: + + _query_params.append(('use_schema', use_schema)) + + if override_sync_toggle is not None: + + _query_params.append(('override_sync_toggle', override_sync_toggle)) + + if category is not None: + + _query_params.append(('category', category)) + + if status is not None: + + _query_params.append(('status', status)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/isc/accounts', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_single_schema_mapped_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSingleSchemaMappedProfile200Response: + """Get Profile + + It returns a single stored profile, optionally with schema-mapped field names. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_single_schema_mapped_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_single_schema_mapped_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSingleSchemaMappedProfile200Response]: + """Get Profile + + It returns a single stored profile, optionally with schema-mapped field names. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_single_schema_mapped_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_single_schema_mapped_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Profile + + It returns a single stored profile, optionally with schema-mapped field names. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_single_schema_mapped_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_single_schema_mapped_profile_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/isc/accounts/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_profile_request: Optional[UpdateProfileRequest] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSingleSchemaMappedProfile200Response: + """Update Profile + + Updates a profile only through ISC schema-mapped attributes, performs a reverse mapping to match the NERM attributes to update. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_profile_request: + :type update_profile_request: UpdateProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_profile_serialize( + id=id, + update_profile_request=update_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_profile_request: Optional[UpdateProfileRequest] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSingleSchemaMappedProfile200Response]: + """Update Profile + + Updates a profile only through ISC schema-mapped attributes, performs a reverse mapping to match the NERM attributes to update. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_profile_request: + :type update_profile_request: UpdateProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_profile_serialize( + id=id, + update_profile_request=update_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_profile_request: Optional[UpdateProfileRequest] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update Profile + + Updates a profile only through ISC schema-mapped attributes, performs a reverse mapping to match the NERM attributes to update. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_profile_request: + :type update_profile_request: UpdateProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_profile_serialize( + id=id, + update_profile_request=update_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_profile_serialize( + self, + id, + update_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_profile_request is not None: + _body_params = update_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/isc/accounts/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/job_status_api.py b/sailpoint/nerm/api/job_status_api.py new file mode 100644 index 000000000..77275eb2b --- /dev/null +++ b/sailpoint/nerm/api/job_status_api.py @@ -0,0 +1,308 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from sailpoint.nerm.models.get_job_status200_response import GetJobStatus200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class JobStatusApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_job_status( + self, + job_id: Annotated[StrictStr, Field(description="The id of the job returned from a POST or PATCH endpoint that resulted in a job being created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetJobStatus200Response: + """Get bulk job status + + Retrieve the status of a bulk job + + :param job_id: The id of the job returned from a POST or PATCH endpoint that resulted in a job being created (required) + :type job_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_job_status_serialize( + job_id=job_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetJobStatus200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_job_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The id of the job returned from a POST or PATCH endpoint that resulted in a job being created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetJobStatus200Response]: + """Get bulk job status + + Retrieve the status of a bulk job + + :param job_id: The id of the job returned from a POST or PATCH endpoint that resulted in a job being created (required) + :type job_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_job_status_serialize( + job_id=job_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetJobStatus200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_job_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The id of the job returned from a POST or PATCH endpoint that resulted in a job being created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get bulk job status + + Retrieve the status of a bulk job + + :param job_id: The id of the job returned from a POST or PATCH endpoint that resulted in a job being created (required) + :type job_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_job_status_serialize( + job_id=job_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetJobStatus200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_status_serialize( + self, + job_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if job_id is not None: + + _query_params.append(('job_id', job_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/job_status', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/languages_api.py b/sailpoint/nerm/api/languages_api.py new file mode 100644 index 000000000..549e7b3ef --- /dev/null +++ b/sailpoint/nerm/api/languages_api.py @@ -0,0 +1,334 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from sailpoint.nerm.models.patch_language_request import PatchLanguageRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class LanguagesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def patch_language( + self, + language_locale: Annotated[StrictStr, Field(description="Language locale of the object")], + patch_language_request: PatchLanguageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PatchLanguageRequest: + """Update a language by locale + + Update a language by locale + + :param language_locale: Language locale of the object (required) + :type language_locale: str + :param patch_language_request: (required) + :type patch_language_request: PatchLanguageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_language_serialize( + language_locale=language_locale, + patch_language_request=patch_language_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PatchLanguageRequest", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_language_with_http_info( + self, + language_locale: Annotated[StrictStr, Field(description="Language locale of the object")], + patch_language_request: PatchLanguageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PatchLanguageRequest]: + """Update a language by locale + + Update a language by locale + + :param language_locale: Language locale of the object (required) + :type language_locale: str + :param patch_language_request: (required) + :type patch_language_request: PatchLanguageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_language_serialize( + language_locale=language_locale, + patch_language_request=patch_language_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PatchLanguageRequest", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_language_without_preload_content( + self, + language_locale: Annotated[StrictStr, Field(description="Language locale of the object")], + patch_language_request: PatchLanguageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a language by locale + + Update a language by locale + + :param language_locale: Language locale of the object (required) + :type language_locale: str + :param patch_language_request: (required) + :type patch_language_request: PatchLanguageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_language_serialize( + language_locale=language_locale, + patch_language_request=patch_language_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PatchLanguageRequest", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_language_serialize( + self, + language_locale, + patch_language_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if language_locale is not None: + _path_params['language_locale'] = language_locale + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if patch_language_request is not None: + _body_params = patch_language_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/languages/{locale}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/page_content_translations_api.py b/sailpoint/nerm/api/page_content_translations_api.py new file mode 100644 index 000000000..033f4d907 --- /dev/null +++ b/sailpoint/nerm/api/page_content_translations_api.py @@ -0,0 +1,2245 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_page_content_translation_request import CreatePageContentTranslationRequest +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class PageContentTranslationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_page_content_translation( + self, + create_page_content_translation_request: CreatePageContentTranslationRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Create page content translation + + Create a page content translation record. + + :param create_page_content_translation_request: (required) + :type create_page_content_translation_request: CreatePageContentTranslationRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_translation_serialize( + create_page_content_translation_request=create_page_content_translation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_page_content_translation_with_http_info( + self, + create_page_content_translation_request: CreatePageContentTranslationRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Create page content translation + + Create a page content translation record. + + :param create_page_content_translation_request: (required) + :type create_page_content_translation_request: CreatePageContentTranslationRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_translation_serialize( + create_page_content_translation_request=create_page_content_translation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_page_content_translation_without_preload_content( + self, + create_page_content_translation_request: CreatePageContentTranslationRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create page content translation + + Create a page content translation record. + + :param create_page_content_translation_request: (required) + :type create_page_content_translation_request: CreatePageContentTranslationRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_translation_serialize( + create_page_content_translation_request=create_page_content_translation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_page_content_translation_serialize( + self, + create_page_content_translation_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_content_translation_request is not None: + _body_params = create_page_content_translation_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/page_content_translations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_content_translation_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Delete page content translation + + Delete page content translation by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_content_translation_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Delete page content translation + + Delete page content translation by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_content_translation_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page content translation + + Delete page content translation by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_content_translation_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_content_translations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_content_translation_by_uid( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Delete page content translation + + Delete page content translation by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_content_translation_by_uid_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Delete page content translation + + Delete page content translation by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_content_translation_by_uid_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page content translation + + Delete page content translation by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_translation_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_content_translation_by_uid_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_content_translations/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_content_translation( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Get page contents translation + + This endpoint can retrieve page content translation data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_content_translation_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Get page contents translation + + This endpoint can retrieve page content translation data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_content_translation_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get page contents translation + + This endpoint can retrieve page content translation data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_content_translation_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_content_translations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_content_translation_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Find page content translation + + Info for a specific page content translation record by Id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_content_translation_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Find page content translation + + Info for a specific page content translation record by Id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_content_translation_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find page content translation + + Info for a specific page content translation record by Id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_content_translation_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_content_translations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_content_translation_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Find page content translation + + Info for a specific page content translation record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_content_translation_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Find page content translation + + Info for a specific page content translation record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_content_translation_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find page content translation + + Info for a specific page content translation record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_translation_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_content_translation_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_content_translations/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_content_translation_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Update page content translation + + Update info for a specific page content translation record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_id_serialize( + id=id, + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_content_translation_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Update page content translation + + Update info for a specific page content translation record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_id_serialize( + id=id, + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_content_translation_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page content translation + + Update info for a specific page content translation record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_id_serialize( + id=id, + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_content_translation_by_id_serialize( + self, + id, + update_page_content_translation_by_id_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_page_content_translation_by_id_request is not None: + _body_params = update_page_content_translation_by_id_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_content_translations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_content_translation_by_uid( + self, + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContentTranslation200Response: + """Update page content translation + + Update info for a specific page content translation record by UID (user-specified identifier) + + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_uid_serialize( + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_content_translation_by_uid_with_http_info( + self, + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContentTranslation200Response]: + """Update page content translation + + Update info for a specific page content translation record by UID (user-specified identifier) + + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_uid_serialize( + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_content_translation_by_uid_without_preload_content( + self, + update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page content translation + + Update info for a specific page content translation record by UID (user-specified identifier) + + :param update_page_content_translation_by_id_request: (required) + :type update_page_content_translation_by_id_request: UpdatePageContentTranslationByIdRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_translation_by_uid_serialize( + update_page_content_translation_by_id_request=update_page_content_translation_by_id_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContentTranslation200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_content_translation_by_uid_serialize( + self, + update_page_content_translation_by_id_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_page_content_translation_by_id_request is not None: + _body_params = update_page_content_translation_by_id_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_content_translations/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/page_contents_api.py b/sailpoint/nerm/api/page_contents_api.py new file mode 100644 index 000000000..14f85d80b --- /dev/null +++ b/sailpoint/nerm/api/page_contents_api.py @@ -0,0 +1,2247 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class PageContentsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_page_content( + self, + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Create a page content entry + + This endpoint can create page content + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_serialize( + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_page_content_with_http_info( + self, + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Create a page content entry + + This endpoint can create page content + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_serialize( + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_page_content_without_preload_content( + self, + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a page content entry + + This endpoint can create page content + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_content_serialize( + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_page_content_serialize( + self, + create_page_content_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_content_request is not None: + _body_params = create_page_content_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/page_contents', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_content_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Delete page content record + + Delete page content by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_content_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Delete page content record + + Delete page content by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_content_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page content record + + Delete page content by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_content_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_contents/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_content_by_uid( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Delete page content record + + Delete page content by by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_content_by_uid_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Delete page content record + + Delete page content by by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_content_by_uid_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page content record + + Delete page content by by UID (user-specified identifier) + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_content_by_uid_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_content_by_uid_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_contents/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_content_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Find page content record + + Info for a specific page content record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_content_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Find page content record + + Info for a specific page content record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_content_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find page content record + + Info for a specific page content record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_content_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_contents/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_content_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Find a page content record + + Info for a specific page content record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_content_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Find a page content record + + Info for a specific page content record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_content_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find a page content record + + Info for a specific page content record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_content_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_content_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_contents/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_contents( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Get page contents data + + This endpoint can retrieve page content data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_contents_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_contents_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Get page contents data + + This endpoint can retrieve page content data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_contents_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_contents_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get page contents data + + This endpoint can retrieve page content data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_contents_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_contents_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_contents', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_content_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Update page content record + + Update info for a specific page content record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_id_serialize( + id=id, + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_content_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Update page content record + + Update info for a specific page content record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_id_serialize( + id=id, + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_content_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_content_request: CreatePageContentRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page content record + + Update info for a specific page content record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_id_serialize( + id=id, + create_page_content_request=create_page_content_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_content_by_id_serialize( + self, + id, + create_page_content_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_content_request is not None: + _body_params = create_page_content_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_contents/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_content_by_uid( + self, + create_page_content_request: CreatePageContentRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageContents200Response: + """Update page content record + + Update info for a specific page content record by UID (user-specified identifier) + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_uid_serialize( + create_page_content_request=create_page_content_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_content_by_uid_with_http_info( + self, + create_page_content_request: CreatePageContentRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageContents200Response]: + """Update page content record + + Update info for a specific page content record by UID (user-specified identifier) + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_uid_serialize( + create_page_content_request=create_page_content_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_content_by_uid_without_preload_content( + self, + create_page_content_request: CreatePageContentRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page content record + + Update info for a specific page content record by UID (user-specified identifier) + + :param create_page_content_request: (required) + :type create_page_content_request: CreatePageContentRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_content_by_uid_serialize( + create_page_content_request=create_page_content_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageContents200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_content_by_uid_serialize( + self, + create_page_content_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_content_request is not None: + _body_params = create_page_content_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_contents/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/page_elements_api.py b/sailpoint/nerm/api/page_elements_api.py new file mode 100644 index 000000000..52a0e8c30 --- /dev/null +++ b/sailpoint/nerm/api/page_elements_api.py @@ -0,0 +1,2244 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class PageElementsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_page_element( + self, + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Create a page element entry + + Creates a page element. + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_element_serialize( + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_page_element_with_http_info( + self, + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Create a page element entry + + Creates a page element. + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_element_serialize( + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_page_element_without_preload_content( + self, + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a page element entry + + Creates a page element. + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_page_element_serialize( + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_page_element_serialize( + self, + create_page_element_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_element_request is not None: + _body_params = create_page_element_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/page_elements', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_element_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Delete page element + + Delete page element by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_element_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Delete page element + + Delete page element by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_element_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page element + + Delete page element by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_element_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_elements/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_page_element_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Delete page element + + Delete page element by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_page_element_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Delete page element + + Delete page element by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_page_element_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete page element + + Delete page element by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_page_element_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/page_elements/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_element_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Find a page element + + Info for a specific page element record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_element_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Find a page element + + Info for a specific page element record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_element_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find a page element + + Info for a specific page element record + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_element_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_elements/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_element_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Find page element + + Info for a specific page element record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_element_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Find page element + + Info for a specific page element record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_element_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find page element + + Info for a specific page element record by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_element_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_element_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_elements/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_page_elements( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Get page element data + + Retrieves page elements data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_elements_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_page_elements_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Get page element data + + Retrieves page elements data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_elements_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_page_elements_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get page element data + + Retrieves page elements data. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_page_elements_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_page_elements_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/page_elements', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_element_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Update page element + + Update info for a specific page element record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_id_serialize( + id=id, + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_element_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Update page element + + Update info for a specific page element record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_id_serialize( + id=id, + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_element_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + create_page_element_request: CreatePageElementRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page element + + Update info for a specific page element record by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_id_serialize( + id=id, + create_page_element_request=create_page_element_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_element_by_id_serialize( + self, + id, + create_page_element_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_element_request is not None: + _body_params = create_page_element_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_elements/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_page_element_by_uid( + self, + create_page_element_request: CreatePageElementRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPageElements200Response: + """Update page element + + Update info for a specific page element record by UID (user-specified identifier) + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_uid_serialize( + create_page_element_request=create_page_element_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_page_element_by_uid_with_http_info( + self, + create_page_element_request: CreatePageElementRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPageElements200Response]: + """Update page element + + Update info for a specific page element record by UID (user-specified identifier) + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_uid_serialize( + create_page_element_request=create_page_element_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_page_element_by_uid_without_preload_content( + self, + create_page_element_request: CreatePageElementRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update page element + + Update info for a specific page element record by UID (user-specified identifier) + + :param create_page_element_request: (required) + :type create_page_element_request: CreatePageElementRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_page_element_by_uid_serialize( + create_page_element_request=create_page_element_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPageElements200Response", + '400': "GetAttributes400Response", + '404': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_page_element_by_uid_serialize( + self, + create_page_element_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_page_element_request is not None: + _body_params = create_page_element_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/page_elements/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/pages_api.py b/sailpoint/nerm/api/pages_api.py new file mode 100644 index 000000000..c77d15d0d --- /dev/null +++ b/sailpoint/nerm/api/pages_api.py @@ -0,0 +1,600 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response +from sailpoint.nerm.models.create_profile_page_request import CreateProfilePageRequest +from sailpoint.nerm.models.create_workflow_page_request import CreateWorkflowPageRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class PagesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_profile_page( + self, + create_profile_page_request: CreateProfilePageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateProfilePage200Response: + """Create a profile page + + Create a profile page + + :param create_profile_page_request: (required) + :type create_profile_page_request: CreateProfilePageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_page_serialize( + create_profile_page_request=create_profile_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_profile_page_with_http_info( + self, + create_profile_page_request: CreateProfilePageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateProfilePage200Response]: + """Create a profile page + + Create a profile page + + :param create_profile_page_request: (required) + :type create_profile_page_request: CreateProfilePageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_page_serialize( + create_profile_page_request=create_profile_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_profile_page_without_preload_content( + self, + create_profile_page_request: CreateProfilePageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile page + + Create a profile page + + :param create_profile_page_request: (required) + :type create_profile_page_request: CreateProfilePageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_page_serialize( + create_profile_page_request=create_profile_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_profile_page_serialize( + self, + create_profile_page_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profile_page_request is not None: + _body_params = create_profile_page_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/pages/profile_pages', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_workflow_page( + self, + create_workflow_page_request: CreateWorkflowPageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateProfilePage200Response: + """Create a workflow page + + Create a workflow page + + :param create_workflow_page_request: (required) + :type create_workflow_page_request: CreateWorkflowPageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_page_serialize( + create_workflow_page_request=create_workflow_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_workflow_page_with_http_info( + self, + create_workflow_page_request: CreateWorkflowPageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateProfilePage200Response]: + """Create a workflow page + + Create a workflow page + + :param create_workflow_page_request: (required) + :type create_workflow_page_request: CreateWorkflowPageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_page_serialize( + create_workflow_page_request=create_workflow_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_workflow_page_without_preload_content( + self, + create_workflow_page_request: CreateWorkflowPageRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a workflow page + + Create a workflow page + + :param create_workflow_page_request: (required) + :type create_workflow_page_request: CreateWorkflowPageRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_page_serialize( + create_workflow_page_request=create_workflow_page_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfilePage200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_workflow_page_serialize( + self, + create_workflow_page_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_workflow_page_request is not None: + _body_params = create_workflow_page_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/pages/workflow_pages', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/permissions_api.py b/sailpoint/nerm/api/permissions_api.py new file mode 100644 index 000000000..f849135cd --- /dev/null +++ b/sailpoint/nerm/api/permissions_api.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_permission200_response import CreatePermission200Response +from sailpoint.nerm.models.create_permission_request import CreatePermissionRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class PermissionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_permission( + self, + create_permission_request: CreatePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreatePermission200Response: + """Create a permission + + This endpoint can create permissions for Lifecycle, Consolidation, and Collaboration + + :param create_permission_request: (required) + :type create_permission_request: CreatePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_permission_serialize( + create_permission_request=create_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_permission_with_http_info( + self, + create_permission_request: CreatePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreatePermission200Response]: + """Create a permission + + This endpoint can create permissions for Lifecycle, Consolidation, and Collaboration + + :param create_permission_request: (required) + :type create_permission_request: CreatePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_permission_serialize( + create_permission_request=create_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_permission_without_preload_content( + self, + create_permission_request: CreatePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a permission + + This endpoint can create permissions for Lifecycle, Consolidation, and Collaboration + + :param create_permission_request: (required) + :type create_permission_request: CreatePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_permission_serialize( + create_permission_request=create_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_permission_serialize( + self, + create_permission_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_permission_request is not None: + _body_params = create_permission_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/permissions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/profile_type_roles_api.py b/sailpoint/nerm/api/profile_type_roles_api.py new file mode 100644 index 000000000..0555c2d49 --- /dev/null +++ b/sailpoint/nerm/api/profile_type_roles_api.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_profile_type_role200_response import CreateProfileTypeRole200Response +from sailpoint.nerm.models.create_profile_type_role_request import CreateProfileTypeRoleRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class ProfileTypeRolesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_profile_type_role( + self, + create_profile_type_role_request: CreateProfileTypeRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateProfileTypeRole200Response: + """Create a profile type role + + This endpoint can create a profile type role. NOTE- The ability to toggle Allow/Block is done through the Profile Type + + :param create_profile_type_role_request: (required) + :type create_profile_type_role_request: CreateProfileTypeRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_type_role_serialize( + create_profile_type_role_request=create_profile_type_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfileTypeRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_profile_type_role_with_http_info( + self, + create_profile_type_role_request: CreateProfileTypeRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateProfileTypeRole200Response]: + """Create a profile type role + + This endpoint can create a profile type role. NOTE- The ability to toggle Allow/Block is done through the Profile Type + + :param create_profile_type_role_request: (required) + :type create_profile_type_role_request: CreateProfileTypeRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_type_role_serialize( + create_profile_type_role_request=create_profile_type_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfileTypeRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_profile_type_role_without_preload_content( + self, + create_profile_type_role_request: CreateProfileTypeRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile type role + + This endpoint can create a profile type role. NOTE- The ability to toggle Allow/Block is done through the Profile Type + + :param create_profile_type_role_request: (required) + :type create_profile_type_role_request: CreateProfileTypeRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_type_role_serialize( + create_profile_type_role_request=create_profile_type_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProfileTypeRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_profile_type_role_serialize( + self, + create_profile_type_role_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profile_type_role_request is not None: + _body_params = create_profile_type_role_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profile_type_roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/profile_types_api.py b/sailpoint/nerm/api/profile_types_api.py new file mode 100644 index 000000000..720e30076 --- /dev/null +++ b/sailpoint/nerm/api/profile_types_api.py @@ -0,0 +1,2342 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.nerm.models.get_profile_types200_response import GetProfileTypes200Response +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class ProfileTypesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_profile_type_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteProfileTypeById200Response: + """Delete profile type + + Delete a profile type. All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_profile_type_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteProfileTypeById200Response]: + """Delete profile type + + Delete a profile type. All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_profile_type_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete profile type + + Delete a profile type. All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_profile_type_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/profile_types/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_profile_type_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteProfileTypeById200Response: + """Delete profile type + + Delete a profile type by UID (user-specified identifier). All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_profile_type_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteProfileTypeById200Response]: + """Delete profile type + + Delete a profile type by UID (user-specified identifier). All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_profile_type_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete profile type + + Delete a profile type by UID (user-specified identifier). All profiles of that type must first be destroyed before the profile type can be destroyed. + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_profile_type_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/profile_types/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_type_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitProfileType200Response: + """Find profile type + + Find profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_type_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitProfileType200Response]: + """Find profile type + + Find profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_type_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find profile type + + Find profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_type_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profile_types/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_type_by_uid( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitProfileType200Response: + """Find profile type + + Find profile type by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_type_by_uid_with_http_info( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitProfileType200Response]: + """Find profile type + + Find profile type by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_type_by_uid_without_preload_content( + self, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find profile type + + Find profile type by UID (user-specified identifier) + + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_by_uid_serialize( + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_type_by_uid_serialize( + self, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profile_types/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_types( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + archived: Annotated[Optional[StrictBool], Field(description="Filter by archive status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetProfileTypes200Response: + """Get profile types + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param archived: Filter by archive status + :type archived: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_types_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + archived=archived, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_types_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + archived: Annotated[Optional[StrictBool], Field(description="Filter by archive status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetProfileTypes200Response]: + """Get profile types + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param archived: Filter by archive status + :type archived: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_types_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + archived=archived, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_types_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + archived: Annotated[Optional[StrictBool], Field(description="Filter by archive status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get profile types + + Get option based attribute values + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param archived: Filter by archive status + :type archived: bool + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_types_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + archived=archived, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_types_serialize( + self, + limit, + offset, + order, + name, + archived, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if name is not None: + + _query_params.append(('name', name)) + + if archived is not None: + + _query_params.append(('archived', archived)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profile_types', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_profile_type_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitProfileType200Response: + """Update a profile type + + Update a profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_id_serialize( + id=id, + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_profile_type_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitProfileType200Response]: + """Update a profile type + + Update a profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_id_serialize( + id=id, + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_profile_type_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a profile type + + Update a profile type by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_id_serialize( + id=id, + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_profile_type_by_id_serialize( + self, + id, + submit_profile_type_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_profile_type_request is not None: + _body_params = submit_profile_type_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/profile_types/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_profile_type_by_uid( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitProfileType200Response: + """Update a profile type + + Update a profile type by UID (user-specified identifier) + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_uid_serialize( + submit_profile_type_request=submit_profile_type_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_profile_type_by_uid_with_http_info( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitProfileType200Response]: + """Update a profile type + + Update a profile type by UID (user-specified identifier) + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_uid_serialize( + submit_profile_type_request=submit_profile_type_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_profile_type_by_uid_without_preload_content( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a profile type + + Update a profile type by UID (user-specified identifier) + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_type_by_uid_serialize( + submit_profile_type_request=submit_profile_type_request, + uid=uid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_profile_type_by_uid_serialize( + self, + submit_profile_type_request, + uid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_profile_type_request is not None: + _body_params = submit_profile_type_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/profile_types/{uid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_profile_type( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitProfileType200Response: + """Create a profile type + + Create a profile type + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_type_serialize( + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_profile_type_with_http_info( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitProfileType200Response]: + """Create a profile type + + Create a profile type + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_type_serialize( + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_profile_type_without_preload_content( + self, + submit_profile_type_request: SubmitProfileTypeRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile type + + Create a profile type + + :param submit_profile_type_request: (required) + :type submit_profile_type_request: SubmitProfileTypeRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_type_serialize( + submit_profile_type_request=submit_profile_type_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitProfileType200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_profile_type_serialize( + self, + submit_profile_type_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_profile_type_request is not None: + _body_params = submit_profile_type_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profile_type', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/profiles_api.py b/sailpoint/nerm/api/profiles_api.py new file mode 100644 index 000000000..f9ebebd67 --- /dev/null +++ b/sailpoint/nerm/api/profiles_api.py @@ -0,0 +1,3592 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date +from pydantic import Field, StrictBool, StrictBytes, StrictStr, field_validator +from typing import Optional, Tuple, Union +from typing_extensions import Annotated +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest +from sailpoint.nerm.models.delete_profiles200_response import DeleteProfiles200Response +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest +from sailpoint.nerm.models.url import Url + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class ProfilesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_profiles( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SearchAdvancedSearch200Response: + """Create multiple profiles + + Create multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_profiles_with_http_info( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SearchAdvancedSearch200Response]: + """Create multiple profiles + + Create multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_profiles_without_preload_content( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple profiles + + Create multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_profiles_serialize( + self, + create_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profiles_request is not None: + _body_params = create_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_profile_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete a single profile + + Delete a single profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_profile_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete a single profile + + Delete a single profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_profile_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a single profile + + Delete a single profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "DeleteMasterRecord400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_profile_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_profiles( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteProfiles200Response: + """Delete multiple profiles + + Delete multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_profiles_with_http_info( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteProfiles200Response]: + """Delete multiple profiles + + Delete multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_profiles_without_preload_content( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete multiple profiles + + Delete multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_profiles_serialize( + self, + create_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profiles_request is not None: + _body_params = create_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_avatar( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Retrieves profile avatar URL + + Retrieves the URL of the profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_avatar_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Retrieves profile avatar URL + + Retrieves the URL of the profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_avatar_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieves profile avatar URL + + Retrieves the URL of the profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_avatar_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profiles/{id}/avatar', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSingleSchemaMappedProfile200Response: + """Find profile by id + + Find profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSingleSchemaMappedProfile200Response]: + """Find profile by id + + Find profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find profile by id + + Find profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_by_id_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_by_id_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_upload( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Retrieves profile attribute attachment URL + + Retrieves the URL of an attachment attribute value from a profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_upload_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Retrieves profile attribute attachment URL + + Retrieves the URL of an attachment attribute value from a profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_upload_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieves profile attribute attachment URL + + Retrieves the URL of an attachment attribute value from a profile + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_upload_serialize( + self, + id, + attribute_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if attribute_id is not None: + _path_params['attribute_id'] = attribute_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profiles/{id}/upload/{attribute_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profiles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + exclude_attributes: Annotated[Optional[StrictBool], Field(description="Allows for optimization by not returning the associated attribute data for the returned profiles")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="status value for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + after_id: Annotated[Optional[StrictStr], Field(description="Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter.")] = None, + updated_after: Annotated[Optional[date], Field(description="Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSchemaMappedProfilesCollection200Response: + """Get profiles + + Get profiles + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param exclude_attributes: Allows for optimization by not returning the associated attribute data for the returned profiles + :type exclude_attributes: bool + :param name: object name for filtering + :type name: str + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param status: status value for filtering + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param after_id: Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. + :type after_id: str + :param updated_after: Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. + :type updated_after: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profiles_serialize( + limit=limit, + offset=offset, + order=order, + exclude_attributes=exclude_attributes, + name=name, + profile_type_id=profile_type_id, + status=status, + metadata=metadata, + after_id=after_id, + updated_after=updated_after, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profiles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + exclude_attributes: Annotated[Optional[StrictBool], Field(description="Allows for optimization by not returning the associated attribute data for the returned profiles")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="status value for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + after_id: Annotated[Optional[StrictStr], Field(description="Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter.")] = None, + updated_after: Annotated[Optional[date], Field(description="Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSchemaMappedProfilesCollection200Response]: + """Get profiles + + Get profiles + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param exclude_attributes: Allows for optimization by not returning the associated attribute data for the returned profiles + :type exclude_attributes: bool + :param name: object name for filtering + :type name: str + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param status: status value for filtering + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param after_id: Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. + :type after_id: str + :param updated_after: Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. + :type updated_after: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profiles_serialize( + limit=limit, + offset=offset, + order=order, + exclude_attributes=exclude_attributes, + name=name, + profile_type_id=profile_type_id, + status=status, + metadata=metadata, + after_id=after_id, + updated_after=updated_after, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profiles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + exclude_attributes: Annotated[Optional[StrictBool], Field(description="Allows for optimization by not returning the associated attribute data for the returned profiles")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="status value for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + after_id: Annotated[Optional[StrictStr], Field(description="Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter.")] = None, + updated_after: Annotated[Optional[date], Field(description="Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get profiles + + Get profiles + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param exclude_attributes: Allows for optimization by not returning the associated attribute data for the returned profiles + :type exclude_attributes: bool + :param name: object name for filtering + :type name: str + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param status: status value for filtering + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param after_id: Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. + :type after_id: str + :param updated_after: Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. + :type updated_after: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profiles_serialize( + limit=limit, + offset=offset, + order=order, + exclude_attributes=exclude_attributes, + name=name, + profile_type_id=profile_type_id, + status=status, + metadata=metadata, + after_id=after_id, + updated_after=updated_after, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSchemaMappedProfilesCollection200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profiles_serialize( + self, + limit, + offset, + order, + exclude_attributes, + name, + profile_type_id, + status, + metadata, + after_id, + updated_after, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if exclude_attributes is not None: + + _query_params.append(('exclude_attributes', exclude_attributes)) + + if name is not None: + + _query_params.append(('name', name)) + + if profile_type_id is not None: + + _query_params.append(('profile_type_id', profile_type_id)) + + if status is not None: + + _query_params.append(('status', status)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + if after_id is not None: + + _query_params.append(('after_id', after_id)) + + if updated_after is not None: + if isinstance(updated_after, date): + _query_params.append( + ( + 'updated_after', + updated_after.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('updated_after', updated_after)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_profile_by_id( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSingleSchemaMappedProfile200Response: + """Update a profile by id + + Update a profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_by_id_serialize( + id=id, + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_profile_by_id_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSingleSchemaMappedProfile200Response]: + """Update a profile by id + + Update a profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_by_id_serialize( + id=id, + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_profile_by_id_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a profile by id + + Update a profile by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profile_by_id_serialize( + id=id, + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_profile_by_id_serialize( + self, + id, + submit_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_profile_request is not None: + _body_params = submit_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_profiles( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SearchAdvancedSearch200Response: + """Update multiple profiles + + Update multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_profiles_with_http_info( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SearchAdvancedSearch200Response]: + """Update multiple profiles + + Update multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_profiles_without_preload_content( + self, + create_profiles_request: CreateProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple profiles + + Update multiple profiles + + :param create_profiles_request: (required) + :type create_profiles_request: CreateProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_profiles_serialize( + create_profiles_request=create_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchAdvancedSearch200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_profiles_serialize( + self, + create_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profiles_request is not None: + _body_params = create_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_profile( + self, + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSingleSchemaMappedProfile200Response: + """Create a profile + + Create a profile + + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_serialize( + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_profile_with_http_info( + self, + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSingleSchemaMappedProfile200Response]: + """Create a profile + + Create a profile + + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_serialize( + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_profile_without_preload_content( + self, + submit_profile_request: SubmitProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile + + Create a profile + + :param submit_profile_request: (required) + :type submit_profile_request: SubmitProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_serialize( + submit_profile_request=submit_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSingleSchemaMappedProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_profile_serialize( + self, + submit_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_profile_request is not None: + _body_params = submit_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_profile_avatar( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Uploads new profile avatar + + Uploads a new profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_profile_avatar_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Uploads new profile avatar + + Uploads a new profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_profile_avatar_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Uploads new profile avatar + + Uploads a new profile avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_profile_avatar_serialize( + self, + id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profiles/{id}/avatar', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_profile_upload( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Uploads profile attachment attribute + + Uploads a new attachment attribute value to a profile. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_profile_upload_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Uploads profile attachment attribute + + Uploads a new attachment attribute value to a profile. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_profile_upload_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Uploads profile attachment attribute + + Uploads a new attachment attribute value to a profile. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_profile_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_profile_upload_serialize( + self, + id, + attribute_id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if attribute_id is not None: + _path_params['attribute_id'] = attribute_id + # process the query parameters + # process the header parameters + # process the form parameters + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profiles/{id}/upload/{attribute_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/risk_levels_api.py b/sailpoint/nerm/api/risk_levels_api.py new file mode 100644 index 000000000..b5686d381 --- /dev/null +++ b/sailpoint/nerm/api/risk_levels_api.py @@ -0,0 +1,646 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_risk_level200_response import GetRiskLevel200Response +from sailpoint.nerm.models.get_risk_levels200_response import GetRiskLevels200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class RiskLevelsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_risk_level( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRiskLevel200Response: + """Find risk level data + + Find risk level data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_level_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevel200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_risk_level_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRiskLevel200Response]: + """Find risk level data + + Find risk level data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_level_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevel200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_risk_level_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find risk level data + + Find risk level data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_level_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevel200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_risk_level_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/risk_levels/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_risk_levels( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRiskLevels200Response: + """Get risk level data + + This endpoint can retrieve risk level data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_levels_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevels200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_risk_levels_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRiskLevels200Response]: + """Get risk level data + + This endpoint can retrieve risk level data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_levels_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevels200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_risk_levels_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + label: Annotated[Optional[StrictStr], Field(description="The attribute label to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get risk level data + + This endpoint can retrieve risk level data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param label: The attribute label to filter by + :type label: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_levels_serialize( + limit=limit, + offset=offset, + order=order, + label=label, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskLevels200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_risk_levels_serialize( + self, + limit, + offset, + order, + label, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if label is not None: + + _query_params.append(('label', label)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/risk_levels', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/risk_scores_api.py b/sailpoint/nerm/api/risk_scores_api.py new file mode 100644 index 000000000..d66c4553f --- /dev/null +++ b/sailpoint/nerm/api/risk_scores_api.py @@ -0,0 +1,714 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_risk_score200_response import GetRiskScore200Response +from sailpoint.nerm.models.get_risk_scores200_response import GetRiskScores200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class RiskScoresApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_risk_score( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRiskScore200Response: + """Find risk score data + + Find risk score data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_score_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScore200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_risk_score_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRiskScore200Response]: + """Find risk score data + + Find risk score data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_score_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScore200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_risk_score_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find risk score data + + Find risk score data by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_score_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScore200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_risk_score_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/risk_scores/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_risk_scores( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + object_id: Annotated[Optional[StrictStr], Field(description="ID of an object for filtering. Used along with object_type")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="Type of object that object_id represents")] = None, + overall_risk_level_id: Annotated[Optional[StrictStr], Field(description="Overall risk level to filter by")] = None, + impact_risk_level_id: Annotated[Optional[StrictStr], Field(description="Impact risk level to filter by")] = None, + probability_risk_level_id: Annotated[Optional[StrictStr], Field(description="Probability risk level to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRiskScores200Response: + """Get risk score data + + This endpoint can retrieve risk score data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param object_id: ID of an object for filtering. Used along with object_type + :type object_id: str + :param object_type: Type of object that object_id represents + :type object_type: str + :param overall_risk_level_id: Overall risk level to filter by + :type overall_risk_level_id: str + :param impact_risk_level_id: Impact risk level to filter by + :type impact_risk_level_id: str + :param probability_risk_level_id: Probability risk level to filter by + :type probability_risk_level_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_scores_serialize( + limit=limit, + offset=offset, + order=order, + object_id=object_id, + object_type=object_type, + overall_risk_level_id=overall_risk_level_id, + impact_risk_level_id=impact_risk_level_id, + probability_risk_level_id=probability_risk_level_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScores200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_risk_scores_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + object_id: Annotated[Optional[StrictStr], Field(description="ID of an object for filtering. Used along with object_type")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="Type of object that object_id represents")] = None, + overall_risk_level_id: Annotated[Optional[StrictStr], Field(description="Overall risk level to filter by")] = None, + impact_risk_level_id: Annotated[Optional[StrictStr], Field(description="Impact risk level to filter by")] = None, + probability_risk_level_id: Annotated[Optional[StrictStr], Field(description="Probability risk level to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRiskScores200Response]: + """Get risk score data + + This endpoint can retrieve risk score data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param object_id: ID of an object for filtering. Used along with object_type + :type object_id: str + :param object_type: Type of object that object_id represents + :type object_type: str + :param overall_risk_level_id: Overall risk level to filter by + :type overall_risk_level_id: str + :param impact_risk_level_id: Impact risk level to filter by + :type impact_risk_level_id: str + :param probability_risk_level_id: Probability risk level to filter by + :type probability_risk_level_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_scores_serialize( + limit=limit, + offset=offset, + order=order, + object_id=object_id, + object_type=object_type, + overall_risk_level_id=overall_risk_level_id, + impact_risk_level_id=impact_risk_level_id, + probability_risk_level_id=probability_risk_level_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScores200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_risk_scores_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + object_id: Annotated[Optional[StrictStr], Field(description="ID of an object for filtering. Used along with object_type")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="Type of object that object_id represents")] = None, + overall_risk_level_id: Annotated[Optional[StrictStr], Field(description="Overall risk level to filter by")] = None, + impact_risk_level_id: Annotated[Optional[StrictStr], Field(description="Impact risk level to filter by")] = None, + probability_risk_level_id: Annotated[Optional[StrictStr], Field(description="Probability risk level to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get risk score data + + This endpoint can retrieve risk score data in bulk from Lifecycle + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param object_id: ID of an object for filtering. Used along with object_type + :type object_id: str + :param object_type: Type of object that object_id represents + :type object_type: str + :param overall_risk_level_id: Overall risk level to filter by + :type overall_risk_level_id: str + :param impact_risk_level_id: Impact risk level to filter by + :type impact_risk_level_id: str + :param probability_risk_level_id: Probability risk level to filter by + :type probability_risk_level_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_risk_scores_serialize( + limit=limit, + offset=offset, + order=order, + object_id=object_id, + object_type=object_type, + overall_risk_level_id=overall_risk_level_id, + impact_risk_level_id=impact_risk_level_id, + probability_risk_level_id=probability_risk_level_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRiskScores200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_risk_scores_serialize( + self, + limit, + offset, + order, + object_id, + object_type, + overall_risk_level_id, + impact_risk_level_id, + probability_risk_level_id, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if object_id is not None: + + _query_params.append(('object_id', object_id)) + + if object_type is not None: + + _query_params.append(('object_type', object_type)) + + if overall_risk_level_id is not None: + + _query_params.append(('overall_risk_level_id', overall_risk_level_id)) + + if impact_risk_level_id is not None: + + _query_params.append(('impact_risk_level_id', impact_risk_level_id)) + + if probability_risk_level_id is not None: + + _query_params.append(('probability_risk_level_id', probability_risk_level_id)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/risk_scores', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/role_profiles_api.py b/sailpoint/nerm/api/role_profiles_api.py new file mode 100644 index 000000000..3452c3277 --- /dev/null +++ b/sailpoint/nerm/api/role_profiles_api.py @@ -0,0 +1,2070 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_role_profiles200_response import GetRoleProfiles200Response +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class RoleProfilesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_role_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> object: + """Delete a role profile assignment + + Delete a role profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_role_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[object]: + """Delete a role profile assignment + + Delete a role profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_role_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a role profile assignment + + Delete a role profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_role_profile_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/role_profile/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_role_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoleProfile200Response: + """Find role-profile contributor relationship + + Find role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_role_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoleProfile200Response]: + """Find role-profile contributor relationship + + Find role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_role_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find role-profile contributor relationship + + Find role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_role_profile_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/role_profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_role_profiles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoleProfiles200Response: + """Get role-profile contributor relationships + + Get role-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profiles_serialize( + limit=limit, + offset=offset, + order=order, + role_id=role_id, + profile_id=profile_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_role_profiles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoleProfiles200Response]: + """Get role-profile contributor relationships + + Get role-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profiles_serialize( + limit=limit, + offset=offset, + order=order, + role_id=role_id, + profile_id=profile_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_role_profiles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get role-profile contributor relationships + + Get role-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_profiles_serialize( + limit=limit, + offset=offset, + order=order, + role_id=role_id, + profile_id=profile_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_role_profiles_serialize( + self, + limit, + offset, + order, + role_id, + profile_id, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if role_id is not None: + + _query_params.append(('role_id', role_id)) + + if profile_id is not None: + + _query_params.append(('profile_id', profile_id)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/role_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_role_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoleProfile200Response: + """Update a role-profile contributor relationship + + Update a role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profile_serialize( + id=id, + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_role_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoleProfile200Response]: + """Update a role-profile contributor relationship + + Update a role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profile_serialize( + id=id, + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_role_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a role-profile contributor relationship + + Update a role-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profile_serialize( + id=id, + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_role_profile_serialize( + self, + id, + submit_role_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_profile_request is not None: + _body_params = submit_role_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/role_profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_role_profiles( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoleProfiles200Response: + """Update multiple role-profile contributor relationships + + Update multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_role_profiles_with_http_info( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoleProfiles200Response]: + """Update multiple role-profile contributor relationships + + Update multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_role_profiles_without_preload_content( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple role-profile contributor relationships + + Update multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_role_profiles_serialize( + self, + submit_role_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_profiles_request is not None: + _body_params = submit_role_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/role_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_role_profile( + self, + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoleProfile200Response: + """Create a role-profile contributor relationship + + Create a role-profile contributor relationship + + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profile_serialize( + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_role_profile_with_http_info( + self, + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoleProfile200Response]: + """Create a role-profile contributor relationship + + Create a role-profile contributor relationship + + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profile_serialize( + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_role_profile_without_preload_content( + self, + submit_role_profile_request: SubmitRoleProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a role-profile contributor relationship + + Create a role-profile contributor relationship + + :param submit_role_profile_request: (required) + :type submit_role_profile_request: SubmitRoleProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profile_serialize( + submit_role_profile_request=submit_role_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_role_profile_serialize( + self, + submit_role_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_profile_request is not None: + _body_params = submit_role_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/role_profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_role_profiles( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoleProfiles200Response: + """Create multiple role-profile contributor relationships + + Create multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_role_profiles_with_http_info( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoleProfiles200Response]: + """Create multiple role-profile contributor relationships + + Create multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_role_profiles_without_preload_content( + self, + submit_role_profiles_request: SubmitRoleProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple role-profile contributor relationships + + Create multiple role-profile contributor relationships + + :param submit_role_profiles_request: (required) + :type submit_role_profiles_request: SubmitRoleProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_profiles_serialize( + submit_role_profiles_request=submit_role_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoleProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_role_profiles_serialize( + self, + submit_role_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_profiles_request is not None: + _body_params = submit_role_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/role_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/roles_api.py b/sailpoint/nerm/api/roles_api.py new file mode 100644 index 000000000..075f5dd62 --- /dev/null +++ b/sailpoint/nerm/api/roles_api.py @@ -0,0 +1,1788 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_roles200_response import GetRoles200Response +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class RolesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_role( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRole200Response: + """Find role by id + + Info for a specific user role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_role_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRole200Response]: + """Find role by id + + Info for a specific user role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_role_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find role by id + + Info for a specific user role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_role_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/roles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_roles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + type: Annotated[Optional[StrictStr], Field(description="Filter roles by type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoles200Response: + """Get roles + + This endpoint can retrieve roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param type: Filter roles by type. + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_roles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + type: Annotated[Optional[StrictStr], Field(description="Filter roles by type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoles200Response]: + """Get roles + + This endpoint can retrieve roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param type: Filter roles by type. + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_roles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + type: Annotated[Optional[StrictStr], Field(description="Filter roles by type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get roles + + This endpoint can retrieve roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param type: Filter roles by type. + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_roles_serialize( + self, + limit, + offset, + order, + metadata, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + if type is not None: + + _query_params.append(('type', type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_role( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRole200Response: + """Update an existing role + + Update an existing role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_serialize( + id=id, + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_role_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRole200Response]: + """Update an existing role + + Update an existing role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_serialize( + id=id, + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_role_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update an existing role + + Update an existing role + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_role_serialize( + id=id, + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_role_serialize( + self, + id, + submit_role_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_request is not None: + _body_params = submit_role_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/roles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_roles( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoles200Response: + """Update multiple roles + + Update multiple users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_roles_with_http_info( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoles200Response]: + """Update multiple roles + + Update multiple users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_roles_without_preload_content( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple roles + + Update multiple users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_roles_serialize( + self, + submit_roles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_roles_request is not None: + _body_params = submit_roles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_role( + self, + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRole200Response: + """Create a new role + + Create a new role + + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_serialize( + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_role_with_http_info( + self, + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRole200Response]: + """Create a new role + + Create a new role + + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_serialize( + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_role_without_preload_content( + self, + submit_role_request: SubmitRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a new role + + Create a new role + + :param submit_role_request: (required) + :type submit_role_request: SubmitRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_role_serialize( + submit_role_request=submit_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_role_serialize( + self, + submit_role_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_role_request is not None: + _body_params = submit_role_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/role', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_roles( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitRoles200Response: + """Create multiple new roles + + Create multiple new users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_roles_with_http_info( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitRoles200Response]: + """Create multiple new roles + + Create multiple new users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_roles_without_preload_content( + self, + submit_roles_request: SubmitRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple new roles + + Create multiple new users + + :param submit_roles_request: (required) + :type submit_roles_request: SubmitRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_roles_serialize( + submit_roles_request=submit_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_roles_serialize( + self, + submit_roles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_roles_request is not None: + _body_params = submit_roles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/synced_attributes_api.py b/sailpoint/nerm/api/synced_attributes_api.py new file mode 100644 index 000000000..b7787c837 --- /dev/null +++ b/sailpoint/nerm/api/synced_attributes_api.py @@ -0,0 +1,948 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_synced_attribute201_response import CreateSyncedAttribute201Response +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.nerm.models.get_profile_type_attributes200_response import GetProfileTypeAttributes200Response +from sailpoint.nerm.models.get_profile_type_attributes_sort_parameter import GetProfileTypeAttributesSortParameter + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class SyncedAttributesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_synced_attribute( + self, + synced_attribute1: Dict[str, Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateSyncedAttribute201Response: + """Create a synced attribute + + Create synced attribute + + :param synced_attribute1: (required) + :type synced_attribute1: SyncedAttribute1 + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_synced_attribute_serialize( + synced_attribute1=synced_attribute1, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateSyncedAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_synced_attribute_with_http_info( + self, + synced_attribute1: Dict[str, Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateSyncedAttribute201Response]: + """Create a synced attribute + + Create synced attribute + + :param synced_attribute1: (required) + :type synced_attribute1: SyncedAttribute1 + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_synced_attribute_serialize( + synced_attribute1=synced_attribute1, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateSyncedAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_synced_attribute_without_preload_content( + self, + synced_attribute1: Dict[str, Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a synced attribute + + Create synced attribute + + :param synced_attribute1: (required) + :type synced_attribute1: SyncedAttribute1 + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_synced_attribute_serialize( + synced_attribute1=synced_attribute1, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateSyncedAttribute201Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_synced_attribute_serialize( + self, + synced_attribute1, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if synced_attribute1 is not None: + _body_params = synced_attribute1 + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/profile_types/{profile_type_id}/synced_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_synced_attribute( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteProfileTypeById200Response: + """Delete synced attribute + + Delete a synced attribute. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_synced_attribute_serialize( + profile_type_id=profile_type_id, + ne_attribute_id=ne_attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_synced_attribute_with_http_info( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteProfileTypeById200Response]: + """Delete synced attribute + + Delete a synced attribute. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_synced_attribute_serialize( + profile_type_id=profile_type_id, + ne_attribute_id=ne_attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_synced_attribute_without_preload_content( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete synced attribute + + Delete a synced attribute. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_synced_attribute_serialize( + profile_type_id=profile_type_id, + ne_attribute_id=ne_attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_synced_attribute_serialize( + self, + profile_type_id, + ne_attribute_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if profile_type_id is not None: + + _query_params.append(('profile_type_id', profile_type_id)) + + if ne_attribute_id is not None: + + _query_params.append(('ne_attribute_id', ne_attribute_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/profile_types/{profile_type_id}/synced_attributes/{ne_attribute_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_profile_type_attributes( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + active_filter: Annotated[Optional[StrictStr], Field(description="Filter for profile type synced attributes")] = None, + search: Annotated[Optional[StrictStr], Field(description="Filter by string")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Pagination items per page")] = None, + sort: Annotated[Optional[GetProfileTypeAttributesSortParameter], Field(description="How records should be sorted")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetProfileTypeAttributes200Response: + """profile_types/ne_attributes synced status + + Get ne attributes and synced attribute relationship to profile type. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param active_filter: Filter for profile type synced attributes + :type active_filter: str + :param search: Filter by string + :type search: str + :param page: Pagination items per page + :type page: int + :param sort: How records should be sorted + :type sort: GetProfileTypeAttributesSortParameter + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_attributes_serialize( + profile_type_id=profile_type_id, + active_filter=active_filter, + search=search, + page=page, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypeAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_profile_type_attributes_with_http_info( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + active_filter: Annotated[Optional[StrictStr], Field(description="Filter for profile type synced attributes")] = None, + search: Annotated[Optional[StrictStr], Field(description="Filter by string")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Pagination items per page")] = None, + sort: Annotated[Optional[GetProfileTypeAttributesSortParameter], Field(description="How records should be sorted")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetProfileTypeAttributes200Response]: + """profile_types/ne_attributes synced status + + Get ne attributes and synced attribute relationship to profile type. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param active_filter: Filter for profile type synced attributes + :type active_filter: str + :param search: Filter by string + :type search: str + :param page: Pagination items per page + :type page: int + :param sort: How records should be sorted + :type sort: GetProfileTypeAttributesSortParameter + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_attributes_serialize( + profile_type_id=profile_type_id, + active_filter=active_filter, + search=search, + page=page, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypeAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_profile_type_attributes_without_preload_content( + self, + profile_type_id: Annotated[Optional[StrictStr], Field(description="Profile Type ID for filtering")] = None, + active_filter: Annotated[Optional[StrictStr], Field(description="Filter for profile type synced attributes")] = None, + search: Annotated[Optional[StrictStr], Field(description="Filter by string")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="Pagination items per page")] = None, + sort: Annotated[Optional[GetProfileTypeAttributesSortParameter], Field(description="How records should be sorted")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """profile_types/ne_attributes synced status + + Get ne attributes and synced attribute relationship to profile type. + + :param profile_type_id: Profile Type ID for filtering + :type profile_type_id: str + :param active_filter: Filter for profile type synced attributes + :type active_filter: str + :param search: Filter by string + :type search: str + :param page: Pagination items per page + :type page: int + :param sort: How records should be sorted + :type sort: GetProfileTypeAttributesSortParameter + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_profile_type_attributes_serialize( + profile_type_id=profile_type_id, + active_filter=active_filter, + search=search, + page=page, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProfileTypeAttributes200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_type_attributes_serialize( + self, + profile_type_id, + active_filter, + search, + page, + sort, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if profile_type_id is not None: + + _query_params.append(('profile_type_id', profile_type_id)) + + if active_filter is not None: + + _query_params.append(('active_filter', active_filter)) + + if search is not None: + + _query_params.append(('search', search)) + + if page is not None: + + _query_params.append(('page', page)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/profile_types/{profile_type_id}/ne_attributes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/system_role_permissions_api.py b/sailpoint/nerm/api/system_role_permissions_api.py new file mode 100644 index 000000000..02481f770 --- /dev/null +++ b/sailpoint/nerm/api/system_role_permissions_api.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_system_role_permission200_response import CreateSystemRolePermission200Response +from sailpoint.nerm.models.create_system_role_permission_request import CreateSystemRolePermissionRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class SystemRolePermissionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_system_role_permission( + self, + create_system_role_permission_request: CreateSystemRolePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateSystemRolePermission200Response: + """Create a system role permission + + This endpoint can create system role permissions for Lifecycle System Roles + + :param create_system_role_permission_request: (required) + :type create_system_role_permission_request: CreateSystemRolePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_system_role_permission_serialize( + create_system_role_permission_request=create_system_role_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSystemRolePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_system_role_permission_with_http_info( + self, + create_system_role_permission_request: CreateSystemRolePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateSystemRolePermission200Response]: + """Create a system role permission + + This endpoint can create system role permissions for Lifecycle System Roles + + :param create_system_role_permission_request: (required) + :type create_system_role_permission_request: CreateSystemRolePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_system_role_permission_serialize( + create_system_role_permission_request=create_system_role_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSystemRolePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_system_role_permission_without_preload_content( + self, + create_system_role_permission_request: CreateSystemRolePermissionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a system role permission + + This endpoint can create system role permissions for Lifecycle System Roles + + :param create_system_role_permission_request: (required) + :type create_system_role_permission_request: CreateSystemRolePermissionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_system_role_permission_serialize( + create_system_role_permission_request=create_system_role_permission_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSystemRolePermission200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_system_role_permission_serialize( + self, + create_system_role_permission_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_system_role_permission_request is not None: + _body_params = create_system_role_permission_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/system_role_permissions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/system_roles_api.py b/sailpoint/nerm/api/system_roles_api.py new file mode 100644 index 000000000..00a64a90a --- /dev/null +++ b/sailpoint/nerm/api/system_roles_api.py @@ -0,0 +1,360 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_system_roles200_response import GetSystemRoles200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class SystemRolesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_system_roles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSystemRoles200Response: + """Get system roles + + This endpoint can retrieve system roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_system_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSystemRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_system_roles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSystemRoles200Response]: + """Get system roles + + This endpoint can retrieve system roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_system_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSystemRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_system_roles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get system roles + + This endpoint can retrieve system roles from NERM. Optionally you can provide parameters to filter results. + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_system_roles_serialize( + limit=limit, + offset=offset, + order=order, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSystemRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_system_roles_serialize( + self, + limit, + offset, + order, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/system_roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/user_managers_api.py b/sailpoint/nerm/api/user_managers_api.py new file mode 100644 index 000000000..4a79ac4aa --- /dev/null +++ b/sailpoint/nerm/api/user_managers_api.py @@ -0,0 +1,1805 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_user_managers200_response import GetUserManagers200Response +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class UserManagersApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_user_manager( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserManager200Response: + """Find user-manager relationship + + Info for a specific user-manager relationship + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_manager_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_manager_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserManager200Response]: + """Find user-manager relationship + + Info for a specific user-manager relationship + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_manager_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_manager_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find user-manager relationship + + Info for a specific user-manager relationship + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_manager_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_manager_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_managers/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_managers( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + manager_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUserManagers200Response: + """Get user-manager relationships + + This endpoint can retrieve user-manager relationships from Lifecycle or you can search for user-manager relationships using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param manager_id: The ID of a user for filtering + :type manager_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_managers_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + manager_id=manager_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_managers_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + manager_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUserManagers200Response]: + """Get user-manager relationships + + This endpoint can retrieve user-manager relationships from Lifecycle or you can search for user-manager relationships using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param manager_id: The ID of a user for filtering + :type manager_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_managers_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + manager_id=manager_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_managers_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + manager_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get user-manager relationships + + This endpoint can retrieve user-manager relationships from Lifecycle or you can search for user-manager relationships using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param manager_id: The ID of a user for filtering + :type manager_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_managers_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + manager_id=manager_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_managers_serialize( + self, + limit, + offset, + order, + user_id, + manager_id, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + if manager_id is not None: + + _query_params.append(('manager_id', manager_id)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_managers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_manager( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserManager200Response: + """Update a user-manager relationship + + Update a user-manager relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_manager_serialize( + id=id, + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_manager_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserManager200Response]: + """Update a user-manager relationship + + Update a user-manager relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_manager_serialize( + id=id, + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_manager_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a user-manager relationship + + Update a user-manager relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_manager_serialize( + id=id, + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_manager_serialize( + self, + id, + submit_user_manager_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_manager_request is not None: + _body_params = submit_user_manager_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_managers/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_managers( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserManagers200Response: + """Update multiple user-manager relationships + + Update multiple user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_managers_with_http_info( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserManagers200Response]: + """Update multiple user-manager relationships + + Update multiple user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_managers_without_preload_content( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple user-manager relationships + + Update multiple user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_managers_serialize( + self, + submit_user_managers_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_managers_request is not None: + _body_params = submit_user_managers_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_managers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_manager( + self, + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserManager200Response: + """Create a new user-manager relationship + + Create a new user-manager relationship + + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_manager_serialize( + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_manager_with_http_info( + self, + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserManager200Response]: + """Create a new user-manager relationship + + Create a new user-manager relationship + + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_manager_serialize( + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_manager_without_preload_content( + self, + submit_user_manager_request: SubmitUserManagerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a new user-manager relationship + + Create a new user-manager relationship + + :param submit_user_manager_request: (required) + :type submit_user_manager_request: SubmitUserManagerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_manager_serialize( + submit_user_manager_request=submit_user_manager_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManager200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_manager_serialize( + self, + submit_user_manager_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_manager_request is not None: + _body_params = submit_user_manager_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_manager', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_managers( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserManagers200Response: + """Create multiple new user-manager relationships + + Create multiple new user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_managers_with_http_info( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserManagers200Response]: + """Create multiple new user-manager relationships + + Create multiple new user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_managers_without_preload_content( + self, + submit_user_managers_request: SubmitUserManagersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple new user-manager relationships + + Create multiple new user-manager relationships + + :param submit_user_managers_request: (required) + :type submit_user_managers_request: SubmitUserManagersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_managers_serialize( + submit_user_managers_request=submit_user_managers_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserManagers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_managers_serialize( + self, + submit_user_managers_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_managers_request is not None: + _body_params = submit_user_managers_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_managers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/user_profiles_api.py b/sailpoint/nerm/api/user_profiles_api.py new file mode 100644 index 000000000..fd423b982 --- /dev/null +++ b/sailpoint/nerm/api/user_profiles_api.py @@ -0,0 +1,2385 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest +from sailpoint.nerm.models.get_user_profiles200_response import GetUserProfiles200Response +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class UserProfilesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_user_profiles( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateUserProfiles200Response: + """Create multiple user-profile contributor relationships + + Create multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_user_profiles_with_http_info( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateUserProfiles200Response]: + """Create multiple user-profile contributor relationships + + Create multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_user_profiles_without_preload_content( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple user-profile contributor relationships + + Create multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_user_profiles_serialize( + self, + create_user_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_user_profiles_request is not None: + _body_params = create_user_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_user_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> object: + """Delete a user profile assignment + + Delete a user profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_user_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[object]: + """Delete a user profile assignment + + Delete a user profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_user_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a user profile assignment + + Delete a user profile assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_profile_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/user_profile/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_user_profiles( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateUserProfiles200Response: + """Delete multiple user-profile contributor relationships + + Delete multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_user_profiles_with_http_info( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateUserProfiles200Response]: + """Delete multiple user-profile contributor relationships + + Delete multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_user_profiles_without_preload_content( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete multiple user-profile contributor relationships + + Delete multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_profiles_serialize( + self, + create_user_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_user_profiles_request is not None: + _body_params = create_user_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/user_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserProfile200Response: + """Find user-profile contributor relationship + + Find user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserProfile200Response]: + """Find user-profile contributor relationship + + Find user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find user-profile contributor relationship + + Find user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profile_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_profile_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_profiles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + relationship_type: Annotated[Optional[StrictStr], Field(description="Type of user contributor relationship to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUserProfiles200Response: + """Get user-profile contributor relationships + + Get user-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param relationship_type: Type of user contributor relationship to filter by + :type relationship_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profiles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + ne_attribute_id=ne_attribute_id, + profile_id=profile_id, + relationship_type=relationship_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_profiles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + relationship_type: Annotated[Optional[StrictStr], Field(description="Type of user contributor relationship to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUserProfiles200Response]: + """Get user-profile contributor relationships + + Get user-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param relationship_type: Type of user contributor relationship to filter by + :type relationship_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profiles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + ne_attribute_id=ne_attribute_id, + profile_id=profile_id, + relationship_type=relationship_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_profiles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + ne_attribute_id: Annotated[Optional[StrictStr], Field(description="ID of an attribute for filtering")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + relationship_type: Annotated[Optional[StrictStr], Field(description="Type of user contributor relationship to filter by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get user-profile contributor relationships + + Get user-profile contributor relationships + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param ne_attribute_id: ID of an attribute for filtering + :type ne_attribute_id: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param relationship_type: Type of user contributor relationship to filter by + :type relationship_type: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_profiles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + ne_attribute_id=ne_attribute_id, + profile_id=profile_id, + relationship_type=relationship_type, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_profiles_serialize( + self, + limit, + offset, + order, + user_id, + ne_attribute_id, + profile_id, + relationship_type, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + if ne_attribute_id is not None: + + _query_params.append(('ne_attribute_id', ne_attribute_id)) + + if profile_id is not None: + + _query_params.append(('profile_id', profile_id)) + + if relationship_type is not None: + + _query_params.append(('relationship_type', relationship_type)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_profile( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserProfile200Response: + """Update a user-profile contributor relationship + + Update a user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profile_serialize( + id=id, + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_profile_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserProfile200Response]: + """Update a user-profile contributor relationship + + Update a user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profile_serialize( + id=id, + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_profile_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a user-profile contributor relationship + + Update a user-profile contributor relationship by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profile_serialize( + id=id, + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_profile_serialize( + self, + id, + submit_user_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_profile_request is not None: + _body_params = submit_user_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_profiles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_profiles( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateUserProfiles200Response: + """Update multiple user-profile contributor relationships + + Update multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_profiles_with_http_info( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateUserProfiles200Response]: + """Update multiple user-profile contributor relationships + + Update multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_profiles_without_preload_content( + self, + create_user_profiles_request: CreateUserProfilesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple user-profile contributor relationships + + Update multiple user-profile contributor relationships + + :param create_user_profiles_request: (required) + :type create_user_profiles_request: CreateUserProfilesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_profiles_serialize( + create_user_profiles_request=create_user_profiles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateUserProfiles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_profiles_serialize( + self, + create_user_profiles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_user_profiles_request is not None: + _body_params = create_user_profiles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_profiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_profile( + self, + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserProfile200Response: + """Create a user-profile contributor relationship + + Create a user-profile contributor relationship + + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_profile_serialize( + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_profile_with_http_info( + self, + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserProfile200Response]: + """Create a user-profile contributor relationship + + Create a user-profile contributor relationship + + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_profile_serialize( + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_profile_without_preload_content( + self, + submit_user_profile_request: SubmitUserProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a user-profile contributor relationship + + Create a user-profile contributor relationship + + :param submit_user_profile_request: (required) + :type submit_user_profile_request: SubmitUserProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_profile_serialize( + submit_user_profile_request=submit_user_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserProfile200Response", + '405': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_profile_serialize( + self, + submit_user_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_profile_request is not None: + _body_params = submit_user_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/user_roles_api.py b/sailpoint/nerm/api/user_roles_api.py new file mode 100644 index 000000000..c10f639b4 --- /dev/null +++ b/sailpoint/nerm/api/user_roles_api.py @@ -0,0 +1,2073 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.get_user_roles200_response import GetUserRoles200Response +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class UserRolesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_user_role( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> object: + """Delete a user role assignment + + Delete a user role assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_user_role_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[object]: + """Delete a user role assignment + + Delete a user role assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_user_role_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a user role assignment + + Delete a user role assignment + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_role_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/user_role/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_role( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserRole200Response: + """Find user role pairing + + Info for a specific user role pairing + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_role_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserRole200Response]: + """Find user role pairing + + Info for a specific user role pairing + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_role_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find user role pairing + + Info for a specific user role pairing + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_role_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_role_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_roles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_roles( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUserRoles200Response: + """Get user role pairings + + This endpoint can retrieve user role pairings from Lifecycle or you can search for user role pairings using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_roles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + role_id=role_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_roles_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUserRoles200Response]: + """Get user role pairings + + This endpoint can retrieve user role pairings from Lifecycle or you can search for user role pairings using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_roles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + role_id=role_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_roles_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="The ID of a user for filtering")] = None, + role_id: Annotated[Optional[StrictStr], Field(description="The ID of a role for filtering")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get user role pairings + + This endpoint can retrieve user role pairings from Lifecycle or you can search for user role pairings using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param user_id: The ID of a user for filtering + :type user_id: str + :param role_id: The ID of a role for filtering + :type role_id: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_roles_serialize( + limit=limit, + offset=offset, + order=order, + user_id=user_id, + role_id=role_id, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_roles_serialize( + self, + limit, + offset, + order, + user_id, + role_id, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + if role_id is not None: + + _query_params.append(('role_id', role_id)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/user_roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_role( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserRole200Response: + """Update a user role pairing + + Update a user role pairing by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_role_serialize( + id=id, + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_role_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserRole200Response]: + """Update a user role pairing + + Update a user role pairing by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_role_serialize( + id=id, + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_role_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a user role pairing + + Update a user role pairing by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_role_serialize( + id=id, + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_role_serialize( + self, + id, + submit_user_role_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_role_request is not None: + _body_params = submit_user_role_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_roles/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user_roles( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserRoles200Response: + """Update multiple user role pairings + + Update multiple user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_roles_with_http_info( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserRoles200Response]: + """Update multiple user role pairings + + Update multiple user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_roles_without_preload_content( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple user role pairings + + Update multiple user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_roles_serialize( + self, + submit_user_roles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_roles_request is not None: + _body_params = submit_user_roles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/user_roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_role( + self, + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserRole200Response: + """Assign new role to user + + Assign a new role to a user + + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_role_serialize( + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_role_with_http_info( + self, + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserRole200Response]: + """Assign new role to user + + Assign a new role to a user + + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_role_serialize( + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_role_without_preload_content( + self, + submit_user_role_request: SubmitUserRoleRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Assign new role to user + + Assign a new role to a user + + :param submit_user_role_request: (required) + :type submit_user_role_request: SubmitUserRoleRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_role_serialize( + submit_user_role_request=submit_user_role_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRole200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_role_serialize( + self, + submit_user_role_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_role_request is not None: + _body_params = submit_user_role_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_role', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_roles( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUserRoles200Response: + """Create new user role pairings + + Create multiple new user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_roles_with_http_info( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUserRoles200Response]: + """Create new user role pairings + + Create multiple new user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_roles_without_preload_content( + self, + submit_user_roles_request: SubmitUserRolesRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create new user role pairings + + Create multiple new user role pairings + + :param submit_user_roles_request: (required) + :type submit_user_roles_request: SubmitUserRolesRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_roles_serialize( + submit_user_roles_request=submit_user_roles_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUserRoles200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_roles_serialize( + self, + submit_user_roles_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_roles_request is not None: + _body_params = submit_user_roles_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user_roles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/users_api.py b/sailpoint/nerm/api/users_api.py new file mode 100644 index 000000000..08c63684e --- /dev/null +++ b/sailpoint/nerm/api/users_api.py @@ -0,0 +1,2724 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictStr, field_validator +from typing import Optional, Tuple, Union +from typing_extensions import Annotated +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.nerm.models.get_users200_response import GetUsers200Response +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest +from sailpoint.nerm.models.url import Url + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class UsersApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_user( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteProfileTypeById200Response: + """Delete a user + + Delete a user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_user_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteProfileTypeById200Response]: + """Delete a user + + Delete a user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_user_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a user + + Delete a user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteProfileTypeById200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUser200Response: + """Find user by id + + Info for a specific user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUser200Response]: + """Find user by id + + Info for a specific user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find user by id + + Info for a specific user + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_avatar( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Retrieves URL user avatar + + Retrieves the URL of the user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_avatar_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Retrieves URL user avatar + + Retrieves the URL of the user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_avatar_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieves URL user avatar + + Retrieves the URL of the user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_avatar_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_avatar_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/users/{id}/avatar', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_users( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + login: Annotated[Optional[StrictStr], Field(description="The user login to search by")] = None, + title: Annotated[Optional[StrictStr], Field(description="The user title to search by")] = None, + user_status: Annotated[Optional[StrictStr], Field(description="user status value for filtering")] = None, + type: Annotated[Optional[StrictStr], Field(description="user type")] = None, + email: Annotated[Optional[StrictStr], Field(description="The user email to search by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + sailpoint_identity_id: Annotated[Optional[StrictStr], Field(description="SailPoint identity ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUsers200Response: + """Get users + + This endpoint can retrieve users from Lifecycle or you can search for users using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param login: The user login to search by + :type login: str + :param title: The user title to search by + :type title: str + :param user_status: user status value for filtering + :type user_status: str + :param type: user type + :type type: str + :param email: The user email to search by + :type email: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param sailpoint_identity_id: SailPoint identity ID + :type sailpoint_identity_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + login=login, + title=title, + user_status=user_status, + type=type, + email=email, + metadata=metadata, + sailpoint_identity_id=sailpoint_identity_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_users_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + login: Annotated[Optional[StrictStr], Field(description="The user login to search by")] = None, + title: Annotated[Optional[StrictStr], Field(description="The user title to search by")] = None, + user_status: Annotated[Optional[StrictStr], Field(description="user status value for filtering")] = None, + type: Annotated[Optional[StrictStr], Field(description="user type")] = None, + email: Annotated[Optional[StrictStr], Field(description="The user email to search by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + sailpoint_identity_id: Annotated[Optional[StrictStr], Field(description="SailPoint identity ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUsers200Response]: + """Get users + + This endpoint can retrieve users from Lifecycle or you can search for users using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param login: The user login to search by + :type login: str + :param title: The user title to search by + :type title: str + :param user_status: user status value for filtering + :type user_status: str + :param type: user type + :type type: str + :param email: The user email to search by + :type email: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param sailpoint_identity_id: SailPoint identity ID + :type sailpoint_identity_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + login=login, + title=title, + user_status=user_status, + type=type, + email=email, + metadata=metadata, + sailpoint_identity_id=sailpoint_identity_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_users_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + name: Annotated[Optional[StrictStr], Field(description="object name for filtering")] = None, + login: Annotated[Optional[StrictStr], Field(description="The user login to search by")] = None, + title: Annotated[Optional[StrictStr], Field(description="The user title to search by")] = None, + user_status: Annotated[Optional[StrictStr], Field(description="user status value for filtering")] = None, + type: Annotated[Optional[StrictStr], Field(description="user type")] = None, + email: Annotated[Optional[StrictStr], Field(description="The user email to search by")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + sailpoint_identity_id: Annotated[Optional[StrictStr], Field(description="SailPoint identity ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get users + + This endpoint can retrieve users from Lifecycle or you can search for users using parameters + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param name: object name for filtering + :type name: str + :param login: The user login to search by + :type login: str + :param title: The user title to search by + :type title: str + :param user_status: user status value for filtering + :type user_status: str + :param type: user type + :type type: str + :param email: The user email to search by + :type email: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param sailpoint_identity_id: SailPoint identity ID + :type sailpoint_identity_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_serialize( + limit=limit, + offset=offset, + order=order, + name=name, + login=login, + title=title, + user_status=user_status, + type=type, + email=email, + metadata=metadata, + sailpoint_identity_id=sailpoint_identity_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_users_serialize( + self, + limit, + offset, + order, + name, + login, + title, + user_status, + type, + email, + metadata, + sailpoint_identity_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if name is not None: + + _query_params.append(('name', name)) + + if login is not None: + + _query_params.append(('login', login)) + + if title is not None: + + _query_params.append(('title', title)) + + if user_status is not None: + + _query_params.append(('user_status', user_status)) + + if type is not None: + + _query_params.append(('type', type)) + + if email is not None: + + _query_params.append(('email', email)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + if sailpoint_identity_id is not None: + + _query_params.append(('sailpoint_identity_id', sailpoint_identity_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/users', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_user( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUser200Response: + """Update a user by id + + Update a user by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_serialize( + id=id, + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_user_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUser200Response]: + """Update a user by id + + Update a user by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_serialize( + id=id, + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_user_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a user by id + + Update a user by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_user_serialize( + id=id, + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_serialize( + self, + id, + submit_user_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_request is not None: + _body_params = submit_user_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_users( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUsers200Response: + """Update multiple users + + Update multiple users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_users_with_http_info( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUsers200Response]: + """Update multiple users + + Update multiple users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_users_without_preload_content( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update multiple users + + Update multiple users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_users_serialize( + self, + submit_users_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_users_request is not None: + _body_params = submit_users_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/users', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user( + self, + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUser200Response: + """Create a new user + + Create a new user + + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_serialize( + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_with_http_info( + self, + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUser200Response]: + """Create a new user + + Create a new user + + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_serialize( + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_without_preload_content( + self, + submit_user_request: SubmitUserRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a new user + + Create a new user + + :param submit_user_request: (required) + :type submit_user_request: SubmitUserRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_serialize( + submit_user_request=submit_user_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUser200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_serialize( + self, + submit_user_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_user_request is not None: + _body_params = submit_user_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/user', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_user_avatar( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Uploads new user avatar + + Uploads a new user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_user_avatar_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Uploads new user avatar + + Uploads a new user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_user_avatar_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Uploads new user avatar + + Uploads a new user avatar + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_user_avatar_serialize( + id=id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_user_avatar_serialize( + self, + id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/users/{id}/avatar', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_users( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitUsers200Response: + """Create multiple new users + + Create multiple new users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_users_with_http_info( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitUsers200Response]: + """Create multiple new users + + Create multiple new users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_users_without_preload_content( + self, + submit_users_request: SubmitUsersRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create multiple new users + + Create multiple new users + + :param submit_users_request: (required) + :type submit_users_request: SubmitUsersRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_users_serialize( + submit_users_request=submit_users_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitUsers200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_users_serialize( + self, + submit_users_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if submit_users_request is not None: + _body_params = submit_users_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/users', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/workflow_action_performer_api.py b/sailpoint/nerm/api/workflow_action_performer_api.py new file mode 100644 index 000000000..4ef82a2e3 --- /dev/null +++ b/sailpoint/nerm/api/workflow_action_performer_api.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_workflow_action_performer200_response import CreateWorkflowActionPerformer200Response +from sailpoint.nerm.models.create_workflow_action_performer_request import CreateWorkflowActionPerformerRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class WorkflowActionPerformerApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_workflow_action_performer( + self, + create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateWorkflowActionPerformer200Response: + """Create a workflow action performer + + Create a workflow action performer for an existing workflow action + + :param create_workflow_action_performer_request: (required) + :type create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_action_performer_serialize( + create_workflow_action_performer_request=create_workflow_action_performer_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateWorkflowActionPerformer200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_workflow_action_performer_with_http_info( + self, + create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateWorkflowActionPerformer200Response]: + """Create a workflow action performer + + Create a workflow action performer for an existing workflow action + + :param create_workflow_action_performer_request: (required) + :type create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_action_performer_serialize( + create_workflow_action_performer_request=create_workflow_action_performer_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateWorkflowActionPerformer200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_workflow_action_performer_without_preload_content( + self, + create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a workflow action performer + + Create a workflow action performer for an existing workflow action + + :param create_workflow_action_performer_request: (required) + :type create_workflow_action_performer_request: CreateWorkflowActionPerformerRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_workflow_action_performer_serialize( + create_workflow_action_performer_request=create_workflow_action_performer_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateWorkflowActionPerformer200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_workflow_action_performer_serialize( + self, + create_workflow_action_performer_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_workflow_action_performer_request is not None: + _body_params = create_workflow_action_performer_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_action_performers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/workflow_actions_api.py b/sailpoint/nerm/api/workflow_actions_api.py new file mode 100644 index 000000000..c29ea016e --- /dev/null +++ b/sailpoint/nerm/api/workflow_actions_api.py @@ -0,0 +1,8206 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_approval_action_request import CreateApprovalActionRequest +from sailpoint.nerm.models.create_ask_security_question_action_request import CreateAskSecurityQuestionActionRequest +from sailpoint.nerm.models.create_auto_assign_action_request import CreateAutoAssignActionRequest +from sailpoint.nerm.models.create_batch_update_action_request import CreateBatchUpdateActionRequest +from sailpoint.nerm.models.create_close_session_action_request import CreateCloseSessionActionRequest +from sailpoint.nerm.models.create_contributors_action_request import CreateContributorsActionRequest +from sailpoint.nerm.models.create_create_profile_action_request import CreateCreateProfileActionRequest +from sailpoint.nerm.models.create_duplicate_prevention_action_request import CreateDuplicatePreventionActionRequest +from sailpoint.nerm.models.create_email_verification_action_request import CreateEmailVerificationActionRequest +from sailpoint.nerm.models.create_fulfillment_action_request import CreateFulfillmentActionRequest +from sailpoint.nerm.models.create_identity_proofing_action_request import CreateIdentityProofingActionRequest +from sailpoint.nerm.models.create_invitation_action_request import CreateInvitationActionRequest +from sailpoint.nerm.models.create_ldap_action_request import CreateLdapActionRequest +from sailpoint.nerm.models.create_notification_action_request import CreateNotificationActionRequest +from sailpoint.nerm.models.create_password_reset_action_request import CreatePasswordResetActionRequest +from sailpoint.nerm.models.create_profile_check_action_request import CreateProfileCheckActionRequest +from sailpoint.nerm.models.create_profile_select_action_request import CreateProfileSelectActionRequest +from sailpoint.nerm.models.create_request_action_request import CreateRequestActionRequest +from sailpoint.nerm.models.create_rest_api_action_request import CreateRestApiActionRequest +from sailpoint.nerm.models.create_review_action_request import CreateReviewActionRequest +from sailpoint.nerm.models.create_run_workflow_action_request import CreateRunWorkflowActionRequest +from sailpoint.nerm.models.create_set_attributes_action_request import CreateSetAttributesActionRequest +from sailpoint.nerm.models.create_set_security_question_action_request import CreateSetSecurityQuestionActionRequest +from sailpoint.nerm.models.create_soap_api_action_request import CreateSoapApiActionRequest +from sailpoint.nerm.models.create_status_change_action_request import CreateStatusChangeActionRequest +from sailpoint.nerm.models.create_unassign_action_request import CreateUnassignActionRequest +from sailpoint.nerm.models.create_update_profile_action_request import CreateUpdateProfileActionRequest +from sailpoint.nerm.models.create_username_password_action_request import CreateUsernamePasswordActionRequest +from sailpoint.nerm.models.get_workflow_actions200_response import GetWorkflowActions200Response + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class WorkflowActionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_approval_action( + self, + create_approval_action_request: CreateApprovalActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an approval action + + Create an approval action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email, workflow_action_approval_email, workflow_action_rejection_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_approval_action_request: (required) + :type create_approval_action_request: CreateApprovalActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_approval_action_serialize( + create_approval_action_request=create_approval_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_approval_action_with_http_info( + self, + create_approval_action_request: CreateApprovalActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an approval action + + Create an approval action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email, workflow_action_approval_email, workflow_action_rejection_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_approval_action_request: (required) + :type create_approval_action_request: CreateApprovalActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_approval_action_serialize( + create_approval_action_request=create_approval_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_approval_action_without_preload_content( + self, + create_approval_action_request: CreateApprovalActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an approval action + + Create an approval action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email, workflow_action_approval_email, workflow_action_rejection_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_approval_action_request: (required) + :type create_approval_action_request: CreateApprovalActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_approval_action_serialize( + create_approval_action_request=create_approval_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_approval_action_serialize( + self, + create_approval_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_approval_action_request is not None: + _body_params = create_approval_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/approval_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_ask_security_question_action( + self, + create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create ask security question action + + Create an ask security question action + + :param create_ask_security_question_action_request: (required) + :type create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ask_security_question_action_serialize( + create_ask_security_question_action_request=create_ask_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_ask_security_question_action_with_http_info( + self, + create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create ask security question action + + Create an ask security question action + + :param create_ask_security_question_action_request: (required) + :type create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ask_security_question_action_serialize( + create_ask_security_question_action_request=create_ask_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_ask_security_question_action_without_preload_content( + self, + create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create ask security question action + + Create an ask security question action + + :param create_ask_security_question_action_request: (required) + :type create_ask_security_question_action_request: CreateAskSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ask_security_question_action_serialize( + create_ask_security_question_action_request=create_ask_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_ask_security_question_action_serialize( + self, + create_ask_security_question_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_ask_security_question_action_request is not None: + _body_params = create_ask_security_question_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/ask_security_question_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_auto_assign_action( + self, + create_auto_assign_action_request: CreateAutoAssignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an auto assign action + + Create an auto assign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_auto_assign_action_request: (required) + :type create_auto_assign_action_request: CreateAutoAssignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_auto_assign_action_serialize( + create_auto_assign_action_request=create_auto_assign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_auto_assign_action_with_http_info( + self, + create_auto_assign_action_request: CreateAutoAssignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an auto assign action + + Create an auto assign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_auto_assign_action_request: (required) + :type create_auto_assign_action_request: CreateAutoAssignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_auto_assign_action_serialize( + create_auto_assign_action_request=create_auto_assign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_auto_assign_action_without_preload_content( + self, + create_auto_assign_action_request: CreateAutoAssignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an auto assign action + + Create an auto assign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_auto_assign_action_request: (required) + :type create_auto_assign_action_request: CreateAutoAssignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_auto_assign_action_serialize( + create_auto_assign_action_request=create_auto_assign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_auto_assign_action_serialize( + self, + create_auto_assign_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_auto_assign_action_request is not None: + _body_params = create_auto_assign_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/auto_assign_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_batch_update_action( + self, + create_batch_update_action_request: CreateBatchUpdateActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a batch update action + + Create a batch update action + + :param create_batch_update_action_request: (required) + :type create_batch_update_action_request: CreateBatchUpdateActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_update_action_serialize( + create_batch_update_action_request=create_batch_update_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_batch_update_action_with_http_info( + self, + create_batch_update_action_request: CreateBatchUpdateActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a batch update action + + Create a batch update action + + :param create_batch_update_action_request: (required) + :type create_batch_update_action_request: CreateBatchUpdateActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_update_action_serialize( + create_batch_update_action_request=create_batch_update_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_batch_update_action_without_preload_content( + self, + create_batch_update_action_request: CreateBatchUpdateActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a batch update action + + Create a batch update action + + :param create_batch_update_action_request: (required) + :type create_batch_update_action_request: CreateBatchUpdateActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_update_action_serialize( + create_batch_update_action_request=create_batch_update_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_batch_update_action_serialize( + self, + create_batch_update_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_batch_update_action_request is not None: + _body_params = create_batch_update_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/batch_update_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_close_session_action( + self, + create_close_session_action_request: CreateCloseSessionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a close session action + + Create a close session action + + :param create_close_session_action_request: (required) + :type create_close_session_action_request: CreateCloseSessionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_close_session_action_serialize( + create_close_session_action_request=create_close_session_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_close_session_action_with_http_info( + self, + create_close_session_action_request: CreateCloseSessionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a close session action + + Create a close session action + + :param create_close_session_action_request: (required) + :type create_close_session_action_request: CreateCloseSessionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_close_session_action_serialize( + create_close_session_action_request=create_close_session_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_close_session_action_without_preload_content( + self, + create_close_session_action_request: CreateCloseSessionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a close session action + + Create a close session action + + :param create_close_session_action_request: (required) + :type create_close_session_action_request: CreateCloseSessionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_close_session_action_serialize( + create_close_session_action_request=create_close_session_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_close_session_action_serialize( + self, + create_close_session_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_close_session_action_request is not None: + _body_params = create_close_session_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/close_session_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_contributors_action( + self, + create_contributors_action_request: CreateContributorsActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a contributors action + + Create a contributors action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_contributors_action_request: (required) + :type create_contributors_action_request: CreateContributorsActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_contributors_action_serialize( + create_contributors_action_request=create_contributors_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_contributors_action_with_http_info( + self, + create_contributors_action_request: CreateContributorsActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a contributors action + + Create a contributors action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_contributors_action_request: (required) + :type create_contributors_action_request: CreateContributorsActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_contributors_action_serialize( + create_contributors_action_request=create_contributors_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_contributors_action_without_preload_content( + self, + create_contributors_action_request: CreateContributorsActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a contributors action + + Create a contributors action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_contributors_action_request: (required) + :type create_contributors_action_request: CreateContributorsActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_contributors_action_serialize( + create_contributors_action_request=create_contributors_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_contributors_action_serialize( + self, + create_contributors_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_contributors_action_request is not None: + _body_params = create_contributors_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/contributors_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_create_profile_action( + self, + create_create_profile_action_request: CreateCreateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a create profile action + + Create a create profile action + + :param create_create_profile_action_request: (required) + :type create_create_profile_action_request: CreateCreateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_profile_action_serialize( + create_create_profile_action_request=create_create_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_create_profile_action_with_http_info( + self, + create_create_profile_action_request: CreateCreateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a create profile action + + Create a create profile action + + :param create_create_profile_action_request: (required) + :type create_create_profile_action_request: CreateCreateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_profile_action_serialize( + create_create_profile_action_request=create_create_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_create_profile_action_without_preload_content( + self, + create_create_profile_action_request: CreateCreateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a create profile action + + Create a create profile action + + :param create_create_profile_action_request: (required) + :type create_create_profile_action_request: CreateCreateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_profile_action_serialize( + create_create_profile_action_request=create_create_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_create_profile_action_serialize( + self, + create_create_profile_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_create_profile_action_request is not None: + _body_params = create_create_profile_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/create_profile_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_duplicate_prevention_action( + self, + create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a duplicate prevention action + + Create a duplicate prevention action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - duplicatation_prevention_attributes, workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_duplicate_prevention_action_request: (required) + :type create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_duplicate_prevention_action_serialize( + create_duplicate_prevention_action_request=create_duplicate_prevention_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_duplicate_prevention_action_with_http_info( + self, + create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a duplicate prevention action + + Create a duplicate prevention action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - duplicatation_prevention_attributes, workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_duplicate_prevention_action_request: (required) + :type create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_duplicate_prevention_action_serialize( + create_duplicate_prevention_action_request=create_duplicate_prevention_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_duplicate_prevention_action_without_preload_content( + self, + create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a duplicate prevention action + + Create a duplicate prevention action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - duplicatation_prevention_attributes, workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_duplicate_prevention_action_request: (required) + :type create_duplicate_prevention_action_request: CreateDuplicatePreventionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_duplicate_prevention_action_serialize( + create_duplicate_prevention_action_request=create_duplicate_prevention_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_duplicate_prevention_action_serialize( + self, + create_duplicate_prevention_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_duplicate_prevention_action_request is not None: + _body_params = create_duplicate_prevention_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/duplicate_prevention_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_email_verification_action( + self, + create_email_verification_action_request: CreateEmailVerificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an email verification action + + Create an email verification action + + :param create_email_verification_action_request: (required) + :type create_email_verification_action_request: CreateEmailVerificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_email_verification_action_serialize( + create_email_verification_action_request=create_email_verification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_email_verification_action_with_http_info( + self, + create_email_verification_action_request: CreateEmailVerificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an email verification action + + Create an email verification action + + :param create_email_verification_action_request: (required) + :type create_email_verification_action_request: CreateEmailVerificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_email_verification_action_serialize( + create_email_verification_action_request=create_email_verification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_email_verification_action_without_preload_content( + self, + create_email_verification_action_request: CreateEmailVerificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an email verification action + + Create an email verification action + + :param create_email_verification_action_request: (required) + :type create_email_verification_action_request: CreateEmailVerificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_email_verification_action_serialize( + create_email_verification_action_request=create_email_verification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_email_verification_action_serialize( + self, + create_email_verification_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_email_verification_action_request is not None: + _body_params = create_email_verification_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/email_verification_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_fulfillment_action( + self, + create_fulfillment_action_request: CreateFulfillmentActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a fulfillment action + + Create a fulfillment action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_fulfillment_action_request: (required) + :type create_fulfillment_action_request: CreateFulfillmentActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_fulfillment_action_serialize( + create_fulfillment_action_request=create_fulfillment_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_fulfillment_action_with_http_info( + self, + create_fulfillment_action_request: CreateFulfillmentActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a fulfillment action + + Create a fulfillment action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_fulfillment_action_request: (required) + :type create_fulfillment_action_request: CreateFulfillmentActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_fulfillment_action_serialize( + create_fulfillment_action_request=create_fulfillment_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_fulfillment_action_without_preload_content( + self, + create_fulfillment_action_request: CreateFulfillmentActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a fulfillment action + + Create a fulfillment action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_fulfillment_action_request: (required) + :type create_fulfillment_action_request: CreateFulfillmentActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_fulfillment_action_serialize( + create_fulfillment_action_request=create_fulfillment_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_fulfillment_action_serialize( + self, + create_fulfillment_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_fulfillment_action_request is not None: + _body_params = create_fulfillment_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/fulfillment_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_identity_proofing_action( + self, + create_identity_proofing_action_request: CreateIdentityProofingActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an identity proofing action + + Create an identity proofing action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - identity_proofing_action_configuration, identity_proofing_action_mappings. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_identity_proofing_action_request: (required) + :type create_identity_proofing_action_request: CreateIdentityProofingActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_identity_proofing_action_serialize( + create_identity_proofing_action_request=create_identity_proofing_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_identity_proofing_action_with_http_info( + self, + create_identity_proofing_action_request: CreateIdentityProofingActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an identity proofing action + + Create an identity proofing action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - identity_proofing_action_configuration, identity_proofing_action_mappings. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_identity_proofing_action_request: (required) + :type create_identity_proofing_action_request: CreateIdentityProofingActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_identity_proofing_action_serialize( + create_identity_proofing_action_request=create_identity_proofing_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_identity_proofing_action_without_preload_content( + self, + create_identity_proofing_action_request: CreateIdentityProofingActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an identity proofing action + + Create an identity proofing action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - identity_proofing_action_configuration, identity_proofing_action_mappings. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_identity_proofing_action_request: (required) + :type create_identity_proofing_action_request: CreateIdentityProofingActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_identity_proofing_action_serialize( + create_identity_proofing_action_request=create_identity_proofing_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_identity_proofing_action_serialize( + self, + create_identity_proofing_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_identity_proofing_action_request is not None: + _body_params = create_identity_proofing_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/identity_proofing_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_invitation_action( + self, + create_invitation_action_request: CreateInvitationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an invitation action + + Create an invitation action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_pause_action. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_invitation_action_request: (required) + :type create_invitation_action_request: CreateInvitationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invitation_action_serialize( + create_invitation_action_request=create_invitation_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_invitation_action_with_http_info( + self, + create_invitation_action_request: CreateInvitationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an invitation action + + Create an invitation action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_pause_action. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_invitation_action_request: (required) + :type create_invitation_action_request: CreateInvitationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invitation_action_serialize( + create_invitation_action_request=create_invitation_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_invitation_action_without_preload_content( + self, + create_invitation_action_request: CreateInvitationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an invitation action + + Create an invitation action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_pause_action. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_invitation_action_request: (required) + :type create_invitation_action_request: CreateInvitationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invitation_action_serialize( + create_invitation_action_request=create_invitation_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_invitation_action_serialize( + self, + create_invitation_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_invitation_action_request is not None: + _body_params = create_invitation_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/invitation_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_ldap_action( + self, + create_ldap_action_request: CreateLdapActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a ldap action + + Create a ldap action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_ldap_action_request: (required) + :type create_ldap_action_request: CreateLdapActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ldap_action_serialize( + create_ldap_action_request=create_ldap_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_ldap_action_with_http_info( + self, + create_ldap_action_request: CreateLdapActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a ldap action + + Create a ldap action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_ldap_action_request: (required) + :type create_ldap_action_request: CreateLdapActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ldap_action_serialize( + create_ldap_action_request=create_ldap_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_ldap_action_without_preload_content( + self, + create_ldap_action_request: CreateLdapActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a ldap action + + Create a ldap action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_ldap_action_request: (required) + :type create_ldap_action_request: CreateLdapActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_ldap_action_serialize( + create_ldap_action_request=create_ldap_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_ldap_action_serialize( + self, + create_ldap_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_ldap_action_request is not None: + _body_params = create_ldap_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/ldap_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_notification_action( + self, + create_notification_action_request: CreateNotificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a notification action + + Create a notification action + + :param create_notification_action_request: (required) + :type create_notification_action_request: CreateNotificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_notification_action_serialize( + create_notification_action_request=create_notification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_notification_action_with_http_info( + self, + create_notification_action_request: CreateNotificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a notification action + + Create a notification action + + :param create_notification_action_request: (required) + :type create_notification_action_request: CreateNotificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_notification_action_serialize( + create_notification_action_request=create_notification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_notification_action_without_preload_content( + self, + create_notification_action_request: CreateNotificationActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a notification action + + Create a notification action + + :param create_notification_action_request: (required) + :type create_notification_action_request: CreateNotificationActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_notification_action_serialize( + create_notification_action_request=create_notification_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_notification_action_serialize( + self, + create_notification_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_notification_action_request is not None: + _body_params = create_notification_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/notification_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_password_reset_action( + self, + create_password_reset_action_request: CreatePasswordResetActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a password reset action + + Create a password reset action + + :param create_password_reset_action_request: (required) + :type create_password_reset_action_request: CreatePasswordResetActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_reset_action_serialize( + create_password_reset_action_request=create_password_reset_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_password_reset_action_with_http_info( + self, + create_password_reset_action_request: CreatePasswordResetActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a password reset action + + Create a password reset action + + :param create_password_reset_action_request: (required) + :type create_password_reset_action_request: CreatePasswordResetActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_reset_action_serialize( + create_password_reset_action_request=create_password_reset_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_password_reset_action_without_preload_content( + self, + create_password_reset_action_request: CreatePasswordResetActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a password reset action + + Create a password reset action + + :param create_password_reset_action_request: (required) + :type create_password_reset_action_request: CreatePasswordResetActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_reset_action_serialize( + create_password_reset_action_request=create_password_reset_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_password_reset_action_serialize( + self, + create_password_reset_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_password_reset_action_request is not None: + _body_params = create_password_reset_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/password_reset_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_profile_check_action( + self, + create_profile_check_action_request: CreateProfileCheckActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a profile check action + + Create a profile check action + + :param create_profile_check_action_request: (required) + :type create_profile_check_action_request: CreateProfileCheckActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_check_action_serialize( + create_profile_check_action_request=create_profile_check_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_profile_check_action_with_http_info( + self, + create_profile_check_action_request: CreateProfileCheckActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a profile check action + + Create a profile check action + + :param create_profile_check_action_request: (required) + :type create_profile_check_action_request: CreateProfileCheckActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_check_action_serialize( + create_profile_check_action_request=create_profile_check_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_profile_check_action_without_preload_content( + self, + create_profile_check_action_request: CreateProfileCheckActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile check action + + Create a profile check action + + :param create_profile_check_action_request: (required) + :type create_profile_check_action_request: CreateProfileCheckActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_check_action_serialize( + create_profile_check_action_request=create_profile_check_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_profile_check_action_serialize( + self, + create_profile_check_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profile_check_action_request is not None: + _body_params = create_profile_check_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/profile_check_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_profile_select_action( + self, + create_profile_select_action_request: CreateProfileSelectActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a profile select action + + Create a profile select action + + :param create_profile_select_action_request: (required) + :type create_profile_select_action_request: CreateProfileSelectActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_select_action_serialize( + create_profile_select_action_request=create_profile_select_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_profile_select_action_with_http_info( + self, + create_profile_select_action_request: CreateProfileSelectActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a profile select action + + Create a profile select action + + :param create_profile_select_action_request: (required) + :type create_profile_select_action_request: CreateProfileSelectActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_select_action_serialize( + create_profile_select_action_request=create_profile_select_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_profile_select_action_without_preload_content( + self, + create_profile_select_action_request: CreateProfileSelectActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a profile select action + + Create a profile select action + + :param create_profile_select_action_request: (required) + :type create_profile_select_action_request: CreateProfileSelectActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_profile_select_action_serialize( + create_profile_select_action_request=create_profile_select_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_profile_select_action_serialize( + self, + create_profile_select_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_profile_select_action_request is not None: + _body_params = create_profile_select_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/profile_select_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_request_action( + self, + create_request_action_request: CreateRequestActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a request action + + Create a request action + + :param create_request_action_request: (required) + :type create_request_action_request: CreateRequestActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_request_action_serialize( + create_request_action_request=create_request_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_request_action_with_http_info( + self, + create_request_action_request: CreateRequestActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a request action + + Create a request action + + :param create_request_action_request: (required) + :type create_request_action_request: CreateRequestActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_request_action_serialize( + create_request_action_request=create_request_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_request_action_without_preload_content( + self, + create_request_action_request: CreateRequestActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a request action + + Create a request action + + :param create_request_action_request: (required) + :type create_request_action_request: CreateRequestActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_request_action_serialize( + create_request_action_request=create_request_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_request_action_serialize( + self, + create_request_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_request_action_request is not None: + _body_params = create_request_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/request_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_rest_api_action( + self, + create_rest_api_action_request: CreateRestApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a REST API action + + Create a REST API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - rest_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_rest_api_action_request: (required) + :type create_rest_api_action_request: CreateRestApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_rest_api_action_serialize( + create_rest_api_action_request=create_rest_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_rest_api_action_with_http_info( + self, + create_rest_api_action_request: CreateRestApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a REST API action + + Create a REST API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - rest_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_rest_api_action_request: (required) + :type create_rest_api_action_request: CreateRestApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_rest_api_action_serialize( + create_rest_api_action_request=create_rest_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_rest_api_action_without_preload_content( + self, + create_rest_api_action_request: CreateRestApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a REST API action + + Create a REST API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - rest_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_rest_api_action_request: (required) + :type create_rest_api_action_request: CreateRestApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_rest_api_action_serialize( + create_rest_api_action_request=create_rest_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_rest_api_action_serialize( + self, + create_rest_api_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_rest_api_action_request is not None: + _body_params = create_rest_api_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/rest_api_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_review_action( + self, + create_review_action_request: CreateReviewActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a review action + + Create a review action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_review_action_request: (required) + :type create_review_action_request: CreateReviewActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_review_action_serialize( + create_review_action_request=create_review_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_review_action_with_http_info( + self, + create_review_action_request: CreateReviewActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a review action + + Create a review action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_review_action_request: (required) + :type create_review_action_request: CreateReviewActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_review_action_serialize( + create_review_action_request=create_review_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_review_action_without_preload_content( + self, + create_review_action_request: CreateReviewActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a review action + + Create a review action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_review_action_request: (required) + :type create_review_action_request: CreateReviewActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_review_action_serialize( + create_review_action_request=create_review_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_review_action_serialize( + self, + create_review_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_review_action_request is not None: + _body_params = create_review_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/review_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_run_workflow_action( + self, + create_run_workflow_action_request: CreateRunWorkflowActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a run workflow action + + Create a run workflow action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - configuration_profile_attribute. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_run_workflow_action_request: (required) + :type create_run_workflow_action_request: CreateRunWorkflowActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_run_workflow_action_serialize( + create_run_workflow_action_request=create_run_workflow_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_run_workflow_action_with_http_info( + self, + create_run_workflow_action_request: CreateRunWorkflowActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a run workflow action + + Create a run workflow action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - configuration_profile_attribute. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_run_workflow_action_request: (required) + :type create_run_workflow_action_request: CreateRunWorkflowActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_run_workflow_action_serialize( + create_run_workflow_action_request=create_run_workflow_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_run_workflow_action_without_preload_content( + self, + create_run_workflow_action_request: CreateRunWorkflowActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a run workflow action + + Create a run workflow action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - configuration_profile_attribute. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_run_workflow_action_request: (required) + :type create_run_workflow_action_request: CreateRunWorkflowActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_run_workflow_action_serialize( + create_run_workflow_action_request=create_run_workflow_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_run_workflow_action_serialize( + self, + create_run_workflow_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_run_workflow_action_request is not None: + _body_params = create_run_workflow_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/run_workflow_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_set_attributes_action( + self, + create_set_attributes_action_request: CreateSetAttributesActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a set attributes action + + Create a set attributes action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_set_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_set_attributes_action_request: (required) + :type create_set_attributes_action_request: CreateSetAttributesActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_attributes_action_serialize( + create_set_attributes_action_request=create_set_attributes_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_set_attributes_action_with_http_info( + self, + create_set_attributes_action_request: CreateSetAttributesActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a set attributes action + + Create a set attributes action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_set_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_set_attributes_action_request: (required) + :type create_set_attributes_action_request: CreateSetAttributesActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_attributes_action_serialize( + create_set_attributes_action_request=create_set_attributes_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_set_attributes_action_without_preload_content( + self, + create_set_attributes_action_request: CreateSetAttributesActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a set attributes action + + Create a set attributes action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_set_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_set_attributes_action_request: (required) + :type create_set_attributes_action_request: CreateSetAttributesActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_attributes_action_serialize( + create_set_attributes_action_request=create_set_attributes_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_set_attributes_action_serialize( + self, + create_set_attributes_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_set_attributes_action_request is not None: + _body_params = create_set_attributes_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/set_attributes_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_set_security_question_action( + self, + create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create set security question action + + Create a set security question action + + :param create_set_security_question_action_request: (required) + :type create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_security_question_action_serialize( + create_set_security_question_action_request=create_set_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_set_security_question_action_with_http_info( + self, + create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create set security question action + + Create a set security question action + + :param create_set_security_question_action_request: (required) + :type create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_security_question_action_serialize( + create_set_security_question_action_request=create_set_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_set_security_question_action_without_preload_content( + self, + create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create set security question action + + Create a set security question action + + :param create_set_security_question_action_request: (required) + :type create_set_security_question_action_request: CreateSetSecurityQuestionActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_set_security_question_action_serialize( + create_set_security_question_action_request=create_set_security_question_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_set_security_question_action_serialize( + self, + create_set_security_question_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_set_security_question_action_request is not None: + _body_params = create_set_security_question_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/set_security_question_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_soap_api_action( + self, + create_soap_api_action_request: CreateSoapApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a SOAP API action + + Create a SOAP API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - soap_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_soap_api_action_request: (required) + :type create_soap_api_action_request: CreateSoapApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_soap_api_action_serialize( + create_soap_api_action_request=create_soap_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_soap_api_action_with_http_info( + self, + create_soap_api_action_request: CreateSoapApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a SOAP API action + + Create a SOAP API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - soap_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_soap_api_action_request: (required) + :type create_soap_api_action_request: CreateSoapApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_soap_api_action_serialize( + create_soap_api_action_request=create_soap_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_soap_api_action_without_preload_content( + self, + create_soap_api_action_request: CreateSoapApiActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a SOAP API action + + Create a SOAP API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - soap_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_soap_api_action_request: (required) + :type create_soap_api_action_request: CreateSoapApiActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_soap_api_action_serialize( + create_soap_api_action_request=create_soap_api_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_soap_api_action_serialize( + self, + create_soap_api_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_soap_api_action_request is not None: + _body_params = create_soap_api_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/soap_api_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_status_change_action( + self, + create_status_change_action_request: CreateStatusChangeActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a status change action + + Create a status change action + + :param create_status_change_action_request: (required) + :type create_status_change_action_request: CreateStatusChangeActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_status_change_action_serialize( + create_status_change_action_request=create_status_change_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_status_change_action_with_http_info( + self, + create_status_change_action_request: CreateStatusChangeActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a status change action + + Create a status change action + + :param create_status_change_action_request: (required) + :type create_status_change_action_request: CreateStatusChangeActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_status_change_action_serialize( + create_status_change_action_request=create_status_change_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_status_change_action_without_preload_content( + self, + create_status_change_action_request: CreateStatusChangeActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a status change action + + Create a status change action + + :param create_status_change_action_request: (required) + :type create_status_change_action_request: CreateStatusChangeActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_status_change_action_serialize( + create_status_change_action_request=create_status_change_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_status_change_action_serialize( + self, + create_status_change_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_status_change_action_request is not None: + _body_params = create_status_change_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/status_change_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_unassign_action( + self, + create_unassign_action_request: CreateUnassignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an unassign action + + Create an unassign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_unassign_action_request: (required) + :type create_unassign_action_request: CreateUnassignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_unassign_action_serialize( + create_unassign_action_request=create_unassign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_unassign_action_with_http_info( + self, + create_unassign_action_request: CreateUnassignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an unassign action + + Create an unassign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_unassign_action_request: (required) + :type create_unassign_action_request: CreateUnassignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_unassign_action_serialize( + create_unassign_action_request=create_unassign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_unassign_action_without_preload_content( + self, + create_unassign_action_request: CreateUnassignActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an unassign action + + Create an unassign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + + :param create_unassign_action_request: (required) + :type create_unassign_action_request: CreateUnassignActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_unassign_action_serialize( + create_unassign_action_request=create_unassign_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_unassign_action_serialize( + self, + create_unassign_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_unassign_action_request is not None: + _body_params = create_unassign_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/unassign_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_update_profile_action( + self, + create_update_profile_action_request: CreateUpdateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create an update profile action + + Create an update profile action + + :param create_update_profile_action_request: (required) + :type create_update_profile_action_request: CreateUpdateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_profile_action_serialize( + create_update_profile_action_request=create_update_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_update_profile_action_with_http_info( + self, + create_update_profile_action_request: CreateUpdateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create an update profile action + + Create an update profile action + + :param create_update_profile_action_request: (required) + :type create_update_profile_action_request: CreateUpdateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_profile_action_serialize( + create_update_profile_action_request=create_update_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_update_profile_action_without_preload_content( + self, + create_update_profile_action_request: CreateUpdateProfileActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an update profile action + + Create an update profile action + + :param create_update_profile_action_request: (required) + :type create_update_profile_action_request: CreateUpdateProfileActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_profile_action_serialize( + create_update_profile_action_request=create_update_profile_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_update_profile_action_serialize( + self, + create_update_profile_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_update_profile_action_request is not None: + _body_params = create_update_profile_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/update_profile_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_username_password_action( + self, + create_username_password_action_request: CreateUsernamePasswordActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateApprovalAction200Response: + """Create a username password action + + Create a username password action + + :param create_username_password_action_request: (required) + :type create_username_password_action_request: CreateUsernamePasswordActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_username_password_action_serialize( + create_username_password_action_request=create_username_password_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_username_password_action_with_http_info( + self, + create_username_password_action_request: CreateUsernamePasswordActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateApprovalAction200Response]: + """Create a username password action + + Create a username password action + + :param create_username_password_action_request: (required) + :type create_username_password_action_request: CreateUsernamePasswordActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_username_password_action_serialize( + create_username_password_action_request=create_username_password_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_username_password_action_without_preload_content( + self, + create_username_password_action_request: CreateUsernamePasswordActionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a username password action + + Create a username password action + + :param create_username_password_action_request: (required) + :type create_username_password_action_request: CreateUsernamePasswordActionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_username_password_action_serialize( + create_username_password_action_request=create_username_password_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateApprovalAction200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_username_password_action_serialize( + self, + create_username_password_action_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_username_password_action_request is not None: + _body_params = create_username_password_action_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_actions/username_password_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_workflow_actions( + self, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetWorkflowActions200Response: + """Get Workflow Actions + + This endpoint can retrieve workflow actions + + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_actions_serialize( + workflow_id=workflow_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowActions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_workflow_actions_with_http_info( + self, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetWorkflowActions200Response]: + """Get Workflow Actions + + This endpoint can retrieve workflow actions + + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_actions_serialize( + workflow_id=workflow_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowActions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_workflow_actions_without_preload_content( + self, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Workflow Actions + + This endpoint can retrieve workflow actions + + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_actions_serialize( + workflow_id=workflow_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowActions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_workflow_actions_serialize( + self, + workflow_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if workflow_id is not None: + + _query_params.append(('workflow_id', workflow_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/workflow_actions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/workflow_sessions_api.py b/sailpoint/nerm/api/workflow_sessions_api.py new file mode 100644 index 000000000..6c2a4a56c --- /dev/null +++ b/sailpoint/nerm/api/workflow_sessions_api.py @@ -0,0 +1,1919 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictStr, field_validator +from typing import Optional, Tuple, Union +from typing_extensions import Annotated +from sailpoint.nerm.models.get_workflow_sessions200_response import GetWorkflowSessions200Response +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest +from sailpoint.nerm.models.url import Url + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class WorkflowSessionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_workflow_session( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitWorkflowSession200Response: + """Find workflow session + + Find workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_workflow_session_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitWorkflowSession200Response]: + """Find workflow session + + Find workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_workflow_session_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Find workflow session + + Find workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_workflow_session_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/workflow_sessions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_workflow_session_upload( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Retrieves workflow session attachment URL + + Retrieves the URL of an attachment attribute value from a workflow session + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_workflow_session_upload_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Retrieves workflow session attachment URL + + Retrieves the URL of an attachment attribute value from a workflow session + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_workflow_session_upload_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieves workflow session attachment URL + + Retrieves the URL of an attachment attribute value from a workflow session + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_workflow_session_upload_serialize( + self, + id, + attribute_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if attribute_id is not None: + _path_params['attribute_id'] = attribute_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/workflow_sessions/{id}/upload/{attribute_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_workflow_sessions( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + requester_id: Annotated[Optional[StrictStr], Field(description="Requester ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="filter by workflow session status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetWorkflowSessions200Response: + """Get workflow sessions + + Get workflow sessions + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param requester_id: Requester ID for filtering + :type requester_id: str + :param status: filter by workflow session status + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_sessions_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + uid=uid, + workflow_id=workflow_id, + requester_id=requester_id, + status=status, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowSessions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_workflow_sessions_with_http_info( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + requester_id: Annotated[Optional[StrictStr], Field(description="Requester ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="filter by workflow session status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetWorkflowSessions200Response]: + """Get workflow sessions + + Get workflow sessions + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param requester_id: Requester ID for filtering + :type requester_id: str + :param status: filter by workflow session status + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_sessions_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + uid=uid, + workflow_id=workflow_id, + requester_id=requester_id, + status=status, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowSessions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_workflow_sessions_without_preload_content( + self, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + order: Annotated[Optional[StrictStr], Field(description="The field to order results by.")] = None, + profile_id: Annotated[Optional[StrictStr], Field(description="Profile ID to filter by")] = None, + uid: Annotated[Optional[StrictStr], Field(description="UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters.")] = None, + workflow_id: Annotated[Optional[StrictStr], Field(description="Workflow ID for filtering")] = None, + requester_id: Annotated[Optional[StrictStr], Field(description="Requester ID for filtering")] = None, + status: Annotated[Optional[StrictStr], Field(description="filter by workflow session status")] = None, + metadata: Annotated[Optional[StrictBool], Field(description="Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\").")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get workflow sessions + + Get workflow sessions + + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param order: The field to order results by. + :type order: str + :param profile_id: Profile ID to filter by + :type profile_id: str + :param uid: UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + :type uid: str + :param workflow_id: Workflow ID for filtering + :type workflow_id: str + :param requester_id: Requester ID for filtering + :type requester_id: str + :param status: filter by workflow session status + :type status: str + :param metadata: Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + :type metadata: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_workflow_sessions_serialize( + limit=limit, + offset=offset, + order=order, + profile_id=profile_id, + uid=uid, + workflow_id=workflow_id, + requester_id=requester_id, + status=status, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWorkflowSessions200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_workflow_sessions_serialize( + self, + limit, + offset, + order, + profile_id, + uid, + workflow_id, + requester_id, + status, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uid is not None: + _path_params['uid'] = uid + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if profile_id is not None: + + _query_params.append(('profile_id', profile_id)) + + if workflow_id is not None: + + _query_params.append(('workflow_id', workflow_id)) + + if requester_id is not None: + + _query_params.append(('requester_id', requester_id)) + + if status is not None: + + _query_params.append(('status', status)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/workflow_sessions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_workflow_session( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitWorkflowSession200Response: + """Update a workflow session + + Update a workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_workflow_session_serialize( + id=id, + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_workflow_session_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitWorkflowSession200Response]: + """Update a workflow session + + Update a workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_workflow_session_serialize( + id=id, + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_workflow_session_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a workflow session + + Update a workflow session by id + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_workflow_session_serialize( + id=id, + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_workflow_session_serialize( + self, + id, + submit_workflow_session_request, + run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if run is not None: + + _query_params.append(('run', run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if submit_workflow_session_request is not None: + _body_params = submit_workflow_session_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/workflow_sessions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_workflow_session( + self, + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SubmitWorkflowSession200Response: + """Create a workflow session + + Create a workflow session + + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_serialize( + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_workflow_session_with_http_info( + self, + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SubmitWorkflowSession200Response]: + """Create a workflow session + + Create a workflow session + + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_serialize( + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_workflow_session_without_preload_content( + self, + submit_workflow_session_request: SubmitWorkflowSessionRequest, + run: Annotated[Optional[StrictBool], Field(description="Will run the created/updated workflow session if successful")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a workflow session + + Create a workflow session + + :param submit_workflow_session_request: (required) + :type submit_workflow_session_request: SubmitWorkflowSessionRequest + :param run: Will run the created/updated workflow session if successful + :type run: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_serialize( + submit_workflow_session_request=submit_workflow_session_request, + run=run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SubmitWorkflowSession200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_workflow_session_serialize( + self, + submit_workflow_session_request, + run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if run is not None: + + _query_params.append(('run', run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if submit_workflow_session_request is not None: + _body_params = submit_workflow_session_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_sessions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def submit_workflow_session_upload( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Url: + """Uploads workflow session attachment + + Uploads a new attachment attribute value to a workflow session. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def submit_workflow_session_upload_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Url]: + """Uploads workflow session attachment + + Uploads a new attachment attribute value to a workflow session. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def submit_workflow_session_upload_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + attribute_id: Annotated[StrictStr, Field(description="The id of the attachment attribute")], + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Uploads workflow session attachment + + Uploads a new attachment attribute value to a workflow session. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param attribute_id: The id of the attachment attribute (required) + :type attribute_id: str + :param file: + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._submit_workflow_session_upload_serialize( + id=id, + attribute_id=attribute_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Url", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _submit_workflow_session_upload_serialize( + self, + id, + attribute_id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if attribute_id is not None: + _path_params['attribute_id'] = attribute_id + # process the query parameters + # process the header parameters + # process the form parameters + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflow_sessions/{id}/upload/{attribute_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api/workflows_api.py b/sailpoint/nerm/api/workflows_api.py new file mode 100644 index 000000000..da3970c0a --- /dev/null +++ b/sailpoint/nerm/api/workflows_api.py @@ -0,0 +1,2008 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from sailpoint.nerm.models.create_automated_workflow_request import CreateAutomatedWorkflowRequest +from sailpoint.nerm.models.create_batch_workflow_request import CreateBatchWorkflowRequest +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest +from sailpoint.nerm.models.create_update_workflow_request import CreateUpdateWorkflowRequest + +from sailpoint.nerm.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.api_response import ApiResponse +from sailpoint.nerm.rest import RESTResponseType + + +class WorkflowsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_automated_workflow( + self, + create_automated_workflow_request: CreateAutomatedWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create an automated workflow + + Create an automated workflow + + :param create_automated_workflow_request: (required) + :type create_automated_workflow_request: CreateAutomatedWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_automated_workflow_serialize( + create_automated_workflow_request=create_automated_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_automated_workflow_with_http_info( + self, + create_automated_workflow_request: CreateAutomatedWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create an automated workflow + + Create an automated workflow + + :param create_automated_workflow_request: (required) + :type create_automated_workflow_request: CreateAutomatedWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_automated_workflow_serialize( + create_automated_workflow_request=create_automated_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_automated_workflow_without_preload_content( + self, + create_automated_workflow_request: CreateAutomatedWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an automated workflow + + Create an automated workflow + + :param create_automated_workflow_request: (required) + :type create_automated_workflow_request: CreateAutomatedWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_automated_workflow_serialize( + create_automated_workflow_request=create_automated_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_automated_workflow_serialize( + self, + create_automated_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_automated_workflow_request is not None: + _body_params = create_automated_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/automated_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_batch_workflow( + self, + create_batch_workflow_request: CreateBatchWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create a batch workflow + + Create a batch workflow + + :param create_batch_workflow_request: (required) + :type create_batch_workflow_request: CreateBatchWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_workflow_serialize( + create_batch_workflow_request=create_batch_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_batch_workflow_with_http_info( + self, + create_batch_workflow_request: CreateBatchWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create a batch workflow + + Create a batch workflow + + :param create_batch_workflow_request: (required) + :type create_batch_workflow_request: CreateBatchWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_workflow_serialize( + create_batch_workflow_request=create_batch_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_batch_workflow_without_preload_content( + self, + create_batch_workflow_request: CreateBatchWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a batch workflow + + Create a batch workflow + + :param create_batch_workflow_request: (required) + :type create_batch_workflow_request: CreateBatchWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_batch_workflow_serialize( + create_batch_workflow_request=create_batch_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_batch_workflow_serialize( + self, + create_batch_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_batch_workflow_request is not None: + _body_params = create_batch_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/batch_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_create_workflow( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create a create workflow + + Create a create workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_create_workflow_with_http_info( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create a create workflow + + Create a create workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_create_workflow_without_preload_content( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a create workflow + + Create a create workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_create_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_create_workflow_serialize( + self, + create_create_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_create_workflow_request is not None: + _body_params = create_create_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/create_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_login_workflow( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create a login workflow + + Create a login workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_login_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_login_workflow_with_http_info( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create a login workflow + + Create a login workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_login_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_login_workflow_without_preload_content( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a login workflow + + Create a login workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_login_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_login_workflow_serialize( + self, + create_login_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_login_workflow_request is not None: + _body_params = create_login_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/login_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_password_update_workflow( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create a password reset workflow + + Create a password reset workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_update_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_password_update_workflow_with_http_info( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create a password reset workflow + + Create a password reset workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_update_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_password_update_workflow_without_preload_content( + self, + create_login_workflow_request: CreateLoginWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a password reset workflow + + Create a password reset workflow + + :param create_login_workflow_request: (required) + :type create_login_workflow_request: CreateLoginWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_password_update_workflow_serialize( + create_login_workflow_request=create_login_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_password_update_workflow_serialize( + self, + create_login_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_login_workflow_request is not None: + _body_params = create_login_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/password_reset_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_registration_workflow( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create a registration workflow + + Create a registration workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_registration_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_registration_workflow_with_http_info( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create a registration workflow + + Create a registration workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_registration_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_registration_workflow_without_preload_content( + self, + create_create_workflow_request: CreateCreateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a registration workflow + + Create a registration workflow + + :param create_create_workflow_request: (required) + :type create_create_workflow_request: CreateCreateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_registration_workflow_serialize( + create_create_workflow_request=create_create_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_registration_workflow_serialize( + self, + create_create_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_create_workflow_request is not None: + _body_params = create_create_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/registration_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_update_workflow( + self, + create_update_workflow_request: CreateUpdateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CreateCreateWorkflow200Response: + """Create an update workflow + + Create an update workflow + + :param create_update_workflow_request: (required) + :type create_update_workflow_request: CreateUpdateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_workflow_serialize( + create_update_workflow_request=create_update_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_update_workflow_with_http_info( + self, + create_update_workflow_request: CreateUpdateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CreateCreateWorkflow200Response]: + """Create an update workflow + + Create an update workflow + + :param create_update_workflow_request: (required) + :type create_update_workflow_request: CreateUpdateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_workflow_serialize( + create_update_workflow_request=create_update_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_update_workflow_without_preload_content( + self, + create_update_workflow_request: CreateUpdateWorkflowRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create an update workflow + + Create an update workflow + + :param create_update_workflow_request: (required) + :type create_update_workflow_request: CreateUpdateWorkflowRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_update_workflow_serialize( + create_update_workflow_request=create_update_workflow_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCreateWorkflow200Response", + '400': "GetAttributes400Response", + '500': "GetAttributes500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_update_workflow_serialize( + self, + create_update_workflow_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if create_update_workflow_request is not None: + _body_params = create_update_workflow_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'userAuth', + 'userAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/workflows/update_workflows', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/api_client.py b/sailpoint/nerm/api_client.py new file mode 100644 index 000000000..a8e8b324a --- /dev/null +++ b/sailpoint/nerm/api_client.py @@ -0,0 +1,869 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import datetime +from dateutil.parser import parse +from enum import Enum +import decimal +import json +import mimetypes +import os +import platform +import re +import sys +import tempfile +import xmltodict + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from sailpoint.configuration import Configuration +from sailpoint.nerm.api_response import ApiResponse, T as ApiResponseT +import sailpoint.nerm.models +from sailpoint.nerm import rest +from sailpoint.nerm.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +class bcolors: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKCYAN = '\033[96m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'SailPoint-SDK-Python/1.4.1' + if configuration and getattr(configuration, 'consumer_identifier', None) and getattr(configuration, 'consumer_version', None): + self.user_agent = f'{self.user_agent} ({configuration.consumer_identifier}/{configuration.consumer_version})' + self.user_agent = f'{self.user_agent} ({sys.platform}; {platform.machine()}) Python/{sys.version.split()[0]} (openapi-generator/7.12.0)' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + pass + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + # Add Authentication header to request + header_params['Authorization'] = "Bearer " + self.configuration.access_token + + if not self.configuration.experimental and 'X-SailPoint-Experimental' in header_params: + raise Exception(f"{bcolors.WARNING}You are using Experimental APIs. Set configuration.experimental = True to enable these APIs in the SDK.{bcolors.ENDC}") + elif self.configuration.experimental == True and 'X-SailPoint-Experimental' in header_params: + if not self.configuration.suppress_experimental_warnings: + print(f"{bcolors.WARNING}Warning: You are using Experimental APIs ({resource_path}){bcolors.ENDC}") + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + if files: + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None: + url = self.configuration.nerm_base_url + '/' + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type == "bytearray": + return_data = self.save_response_to_file(response_data.data, response_data.getheaders()) + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.getheader('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type, content_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.getheaders(), + raw_data = response_data.data + ) + + def save_response_to_file(self, file_data: bytes, headers: Dict[str, str]) -> str: + """Saves binary response content as a file and returns the file path.""" + + content_disposition = headers.get('Content-Disposition', None) + filename = "downloaded_file" + + if content_disposition: + filename_match = re.search(r'filename="(.+?)"', content_disposition) + filename = filename_match.group(1) if filename_match else "downloaded_file" + + content_type = headers.get('Content-Type', '').lower() + + # Extract file extension if it exists + existing_extension = os.path.splitext(filename)[1] # Extracts ".zip", ".csv", etc. + + # If there's no existing extension, determine it from Content-Type + if not existing_extension: + if "application/zip" in content_type: + filename += ".zip" + elif "application/pdf" in content_type: + filename += ".pdf" + elif "image/png" in content_type: + filename += ".png" + elif "image/jpeg" in content_type: + filename += ".jpg" + elif "text/csv" in content_type: + filename += ".csv" + + file_path = os.path.join(os.getcwd(), filename) + + with open(file_path, "wb") as file: + file.write(file_data) # Write bytes directly + + print(f"File has been saved to: {file_path}") + return file_path + + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is SecretStr, return obj.get_secret_value() + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, Enum): + return obj.value + elif isinstance(obj, SecretStr): + return obj.get_secret_value() + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + + elif isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() + else: + obj_dict = obj.__dict__ + + return { + key: self.sanitize_for_serialization(val) + for key, val in obj_dict.items() + } + + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + :param content_type: content type of response. + + :return: deserialized object. + """ + + # fetch data from response object + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif content_type.startswith("application/json"): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif content_type.startswith("application/xml") or content_type.startswith("text/xml"): + data = xmltodict.parse(response_text) + elif content_type.startswith("text/plain"): + data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(sailpoint.nerm.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datetime(data) + elif klass == decimal.Decimal: + return decimal.Decimal(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, quote(str(value))) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + return params + + def select_header_accept(self, _query_params: List[Tuple[str, str]], accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + file_format = next((value for key, value in _query_params if key.lower() == 'fileformat'), None) + + format_to_accept = { + "csv": "application/csv", + "json": "application/json", + "xml": "application/xml", + "pdf": "application/pdf", + } + + if file_format and file_format.lower() in format_to_accept: + return format_to_accept[file_format.lower()] + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = m.group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/sailpoint/nerm/api_response.py b/sailpoint/nerm/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/sailpoint/nerm/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/sailpoint/nerm/configuration.py b/sailpoint/nerm/configuration.py new file mode 100644 index 000000000..8b91409fe --- /dev/null +++ b/sailpoint/nerm/configuration.py @@ -0,0 +1,588 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import copy +import http.client as httplib +import logging +from logging import FileHandler +import multiprocessing +import sys +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict +from typing_extensions import NotRequired, Self + +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +ServerVariablesT = Dict[str, str] + +GenericAuthSetting = TypedDict( + "GenericAuthSetting", + { + "type": str, + "in": str, + "key": str, + "value": str, + }, +) + + +OAuth2AuthSetting = TypedDict( + "OAuth2AuthSetting", + { + "type": Literal["oauth2"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +APIKeyAuthSetting = TypedDict( + "APIKeyAuthSetting", + { + "type": Literal["api_key"], + "in": str, + "key": str, + "value": Optional[str], + }, +) + + +BasicAuthSetting = TypedDict( + "BasicAuthSetting", + { + "type": Literal["basic"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": Optional[str], + }, +) + + +BearerFormatAuthSetting = TypedDict( + "BearerFormatAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "format": Literal["JWT"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +BearerAuthSetting = TypedDict( + "BearerAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +HTTPSignatureAuthSetting = TypedDict( + "HTTPSignatureAuthSetting", + { + "type": Literal["http-signature"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": None, + }, +) + + +AuthSettings = TypedDict( + "AuthSettings", + { + "userAuth": OAuth2AuthSetting, + "userAuth": OAuth2AuthSetting, + }, + total=False, +) + + +class HostSettingVariable(TypedDict): + description: str + default_value: str + enum_values: List[str] + + +class HostSetting(TypedDict): + url: str + description: str + variables: NotRequired[Dict[str, HostSettingVariable]] + + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: Number of retries for API requests. + + :Example: + """ + + _default: ClassVar[Optional[Self]] = None + + def __init__( + self, + host: Optional[str]=None, + api_key: Optional[Dict[str, str]]=None, + api_key_prefix: Optional[Dict[str, str]]=None, + username: Optional[str]=None, + password: Optional[str]=None, + access_token: Optional[str]=None, + server_index: Optional[int]=None, + server_variables: Optional[ServerVariablesT]=None, + server_operation_index: Optional[Dict[int, int]]=None, + server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, + ignore_operation_servers: bool=False, + ssl_ca_cert: Optional[str]=None, + retries: Optional[int] = None, + *, + debug: Optional[bool] = None, + ) -> None: + """Constructor + """ + self._base_path = "https://acmeco.nonemployee.com/api" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.ignore_operation_servers = ignore_operation_servers + """Ignore operation servers + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("sailpoint.nerm") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + if debug is not None: + self.debug = debug + else: + self.__debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = None + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy: Optional[str] = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = retries + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + self.socket_options = None + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + """datetime format + """ + + self.date_format = "%Y-%m-%d" + """date format + """ + + def __deepcopy__(self, memo: Dict[int, Any]) -> Self: + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name: str, value: Any) -> None: + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default: Optional[Self]) -> None: + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls) -> Self: + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls) -> Self: + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = cls() + return cls._default + + @property + def logger_file(self) -> Optional[str]: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value: Optional[str]) -> None: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self) -> bool: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value: bool) -> None: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self) -> str: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value: str) -> None: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]: + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + return None + + def get_basic_auth_token(self) -> Optional[str]: + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self)-> AuthSettings: + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth: AuthSettings = {} + if self.access_token is not None: + auth['userAuth'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + if self.access_token is not None: + auth['userAuth'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self) -> str: + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 1.0.0\n"\ + "SDK Package Version: 1.4.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self) -> List[HostSetting]: + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://{tenantName}.nonemployee.com/api", + 'description': "No description provided", + 'variables': { + 'tenantName': { + 'description': "Tenant name assigned to customer", + 'default_value': "acmeco", + } + } + } + ] + + def get_host_from_settings( + self, + index: Optional[int], + variables: Optional[ServerVariablesT]=None, + servers: Optional[List[HostSetting]]=None, + ) -> str: + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self) -> str: + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value: str) -> None: + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml b/sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml new file mode 100644 index 000000000..cab3f2c87 --- /dev/null +++ b/sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml @@ -0,0 +1,131 @@ +- path: /delegations + method: GET + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python//methods/delegations#delegations-get + source: | + from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + from sailpoint.nerm.v2025.api_client import ApiClient + from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response + from sailpoint.configuration import Configuration + configuration = Configuration() + + + with ApiClient(configuration) as api_client: + delegate_id = 'false' # str | Filter by delegate ID (optional) (default to 'false') # str | Filter by delegate ID (optional) (default to 'false') + delegator_id = 'false' # str | Filter by delegator ID (optional) (default to 'false') # str | Filter by delegator ID (optional) (default to 'false') + expired = False # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + include = '' # str | Include related resources body. For example, 'include=delegator,delegate'. (optional) (default to '') # str | Include related resources body. For example, 'include=delegator,delegate'. (optional) (default to '') + try: + # List delegations + + results = DelegationsApi(api_client).delegations_get() + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_get(delegate_id, delegator_id, expired, limit, offset, include) + print("The response of DelegationsApi->delegations_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_get: %s\n" % e) +- path: /delegations/{id} + method: DELETE + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python//methods/delegations#delegations-id-delete + source: | + from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + from sailpoint.nerm.v2025.api_client import ApiClient + from sailpoint.configuration import Configuration + configuration = Configuration() + + + with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + try: + # Delete a delegation + + DelegationsApi(api_client).delegations_id_delete(id=id) + # Below is a request that includes all optional parameters + # DelegationsApi(api_client).delegations_id_delete(id) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_delete: %s\n" % e) +- path: /delegations/{id} + method: GET + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python//methods/delegations#delegations-id-get + source: | + from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + from sailpoint.nerm.v2025.api_client import ApiClient + from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response + from sailpoint.configuration import Configuration + configuration = Configuration() + + + with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + try: + # Get a single delegation + + results = DelegationsApi(api_client).delegations_id_get(id=id) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_get(id) + print("The response of DelegationsApi->delegations_id_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_get: %s\n" % e) +- path: /delegations/{id} + method: PATCH + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python//methods/delegations#delegations-id-patch + source: | + from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + from sailpoint.nerm.v2025.api_client import ApiClient + from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response + from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest + from sailpoint.configuration import Configuration + configuration = Configuration() + + + with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + delegations_post_request = '''sailpoint.nerm.v2025.DelegationsPostRequest()''' # DelegationsPostRequest | + try: + # Update a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_id_patch(id=id, delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_patch(id, new_delegations_post_request) + print("The response of DelegationsApi->delegations_id_patch:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_patch: %s\n" % e) +- path: /delegations + method: POST + xCodeSample: + - lang: Python + label: SDK_tools/sdk/python//methods/delegations#delegations-post + source: | + from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + from sailpoint.nerm.v2025.api_client import ApiClient + from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response + from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest + from sailpoint.configuration import Configuration + configuration = Configuration() + + + with ApiClient(configuration) as api_client: + delegations_post_request = '''sailpoint.nerm.v2025.DelegationsPostRequest()''' # DelegationsPostRequest | + try: + # Create a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_post(delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_post(new_delegations_post_request) + print("The response of DelegationsApi->delegations_post:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_post: %s\n" % e) + diff --git a/sailpoint/nerm/docs/Methods/AdvancedSearchApi.md b/sailpoint/nerm/docs/Methods/AdvancedSearchApi.md new file mode 100644 index 000000000..7cb941bb2 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/AdvancedSearchApi.md @@ -0,0 +1,304 @@ +--- +id: advanced-search +title: Advanced_search +pagination_label: advanced_search +sidebar_label: advanced_search +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'advanced_search', 'advanced_search'] +slug: /tools/sdk/python//methods/advanced-search +tags: ['SDK', 'Software Development Kit', 'advanced_search', 'advanced_search'] +--- + +# sailpoint.nerm.AdvancedSearchApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-advanced-search**](#get-advanced-search) | **GET** `/advanced_search` | Get saved advanced search queries +[**patch-advanced-search**](#patch-advanced-search) | **PATCH** `/advanced_search/{id}` | Update a saved advanced search +[**search-advanced-search**](#search-advanced-search) | **POST** `/advanced_search/run` | Run profiles advanced search +[**search-advanced-searchby-id**](#search-advanced-searchby-id) | **GET** `/advanced_search/{id}/run` | Run a saved advanced search +[**submit-advanced-search**](#submit-advanced-search) | **POST** `/advanced_search` | Save an advanced search query + + +## get-advanced-search +Get saved advanced search queries +Get saved advanced search queries + +[API Spec](https://developer.sailpoint.com/docs/api//get-advanced-search) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetAdvancedSearch200Response**](../models/get-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetAdvancedSearch200Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_advanced_search200_response import GetAdvancedSearch200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get saved advanced search queries + + results = AdvancedSearchApi(api_client).get_advanced_search() + # Below is a request that includes all optional parameters + # results = AdvancedSearchApi(api_client).get_advanced_search() + print("The response of AdvancedSearchApi->get_advanced_search:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AdvancedSearchApi->get_advanced_search: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-advanced-search +Update a saved advanced search +Update a saved advanced search query + +[API Spec](https://developer.sailpoint.com/docs/api//patch-advanced-search) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_advanced_search_request | [**SubmitAdvancedSearchRequest**](../models/submit-advanced-search-request) | True | + +### Return type +[**SubmitAdvancedSearch200Response**](../models/submit-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAdvancedSearch200Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_advanced_search_request = '''sailpoint.nerm.SubmitAdvancedSearchRequest()''' # SubmitAdvancedSearchRequest | + + try: + # Update a saved advanced search + new_submit_advanced_search_request = SubmitAdvancedSearchRequest.from_json(submit_advanced_search_request) + results = AdvancedSearchApi(api_client).patch_advanced_search(id=id, submit_advanced_search_request=new_submit_advanced_search_request) + # Below is a request that includes all optional parameters + # results = AdvancedSearchApi(api_client).patch_advanced_search(id, new_submit_advanced_search_request) + print("The response of AdvancedSearchApi->patch_advanced_search:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AdvancedSearchApi->patch_advanced_search: %s\n" % e) +``` + + + +[[Back to top]](#) + +## search-advanced-search +Run profiles advanced search +Run an advanced search for profiles, without saving the query + +[API Spec](https://developer.sailpoint.com/docs/api//search-advanced-search) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_advanced_search_request | [**SubmitAdvancedSearchRequest**](../models/submit-advanced-search-request) | True | + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + +### Return type +[**SearchAdvancedSearch200Response**](../models/search-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SearchAdvancedSearch200Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_advanced_search_request = '''sailpoint.nerm.SubmitAdvancedSearchRequest()''' # SubmitAdvancedSearchRequest | + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + + try: + # Run profiles advanced search + new_submit_advanced_search_request = SubmitAdvancedSearchRequest.from_json(submit_advanced_search_request) + results = AdvancedSearchApi(api_client).search_advanced_search(submit_advanced_search_request=new_submit_advanced_search_request) + # Below is a request that includes all optional parameters + # results = AdvancedSearchApi(api_client).search_advanced_search(new_submit_advanced_search_request, limit, offset, order) + print("The response of AdvancedSearchApi->search_advanced_search:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AdvancedSearchApi->search_advanced_search: %s\n" % e) +``` + + + +[[Back to top]](#) + +## search-advanced-searchby-id +Run a saved advanced search +Run a saved advanced search query + +[API Spec](https://developer.sailpoint.com/docs/api//search-advanced-searchby-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + +### Return type +[**SearchAdvancedSearch200Response**](../models/search-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SearchAdvancedSearch200Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + + try: + # Run a saved advanced search + + results = AdvancedSearchApi(api_client).search_advanced_searchby_id(id=id) + # Below is a request that includes all optional parameters + # results = AdvancedSearchApi(api_client).search_advanced_searchby_id(id, limit, offset, order) + print("The response of AdvancedSearchApi->search_advanced_searchby_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AdvancedSearchApi->search_advanced_searchby_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-advanced-search +Save an advanced search query +Save an advanced search query for later use + +[API Spec](https://developer.sailpoint.com/docs/api//submit-advanced-search) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_advanced_search_request | [**SubmitAdvancedSearchRequest**](../models/submit-advanced-search-request) | True | + +### Return type +[**SubmitAdvancedSearch200Response**](../models/submit-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAdvancedSearch200Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_advanced_search_request = '''sailpoint.nerm.SubmitAdvancedSearchRequest()''' # SubmitAdvancedSearchRequest | + + try: + # Save an advanced search query + new_submit_advanced_search_request = SubmitAdvancedSearchRequest.from_json(submit_advanced_search_request) + results = AdvancedSearchApi(api_client).submit_advanced_search(submit_advanced_search_request=new_submit_advanced_search_request) + # Below is a request that includes all optional parameters + # results = AdvancedSearchApi(api_client).submit_advanced_search(new_submit_advanced_search_request) + print("The response of AdvancedSearchApi->submit_advanced_search:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AdvancedSearchApi->submit_advanced_search: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/AttributeOptionsApi.md b/sailpoint/nerm/docs/Methods/AttributeOptionsApi.md new file mode 100644 index 000000000..1daf4394e --- /dev/null +++ b/sailpoint/nerm/docs/Methods/AttributeOptionsApi.md @@ -0,0 +1,597 @@ +--- +id: attribute-options +title: Attribute_options +pagination_label: attribute_options +sidebar_label: attribute_options +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'attribute_options', 'attribute_options'] +slug: /tools/sdk/python//methods/attribute-options +tags: ['SDK', 'Software Development Kit', 'attribute_options', 'attribute_options'] +--- + +# sailpoint.nerm.AttributeOptionsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-attribute-option-by-id**](#delete-attribute-option-by-id) | **DELETE** `/ne_attribute_options/{id}` | Delete option based attribute value +[**delete-attribute-option-by-uid**](#delete-attribute-option-by-uid) | **DELETE** `/ne_attribute_options/{uid}` | Delete option value +[**get-attribute-option-by-id**](#get-attribute-option-by-id) | **GET** `/ne_attribute_options/{id}` | Find option based attribute value +[**get-attribute-option-by-uid**](#get-attribute-option-by-uid) | **GET** `/ne_attribute_options/{uid}` | Find option attribute value +[**get-attribute-options**](#get-attribute-options) | **GET** `/ne_attribute_options` | Get option based attribute values +[**patch-attribute-option-by-id**](#patch-attribute-option-by-id) | **PATCH** `/ne_attribute_options/{id}` | Update option based attribute value +[**patch-attribute-option-by-uid**](#patch-attribute-option-by-uid) | **PATCH** `/ne_attribute_options/{uid}` | Update option value +[**patch-attribute-options**](#patch-attribute-options) | **PATCH** `/ne_attribute_options` | Update multiple option values +[**submit-attribute-option**](#submit-attribute-option) | **POST** `/ne_attribute_option` | Add value to option +[**submit-attribute-options**](#submit-attribute-options) | **POST** `/ne_attribute_options` | Create multiple option values + + +## delete-attribute-option-by-id +Delete option based attribute value +Delete a option based attribute value by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-attribute-option-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**DeleteAttributeOptionById200Response**](../models/delete-attribute-option-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Confirmation of a deleted object | DeleteAttributeOptionById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete option based attribute value + + results = AttributeOptionsApi(api_client).delete_attribute_option_by_id(id=id) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).delete_attribute_option_by_id(id) + print("The response of AttributeOptionsApi->delete_attribute_option_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->delete_attribute_option_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-attribute-option-by-uid +Delete option value +Delete a option based attribute value by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//delete-attribute-option-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**DeleteAttributeOptionById200Response**](../models/delete-attribute-option-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Confirmation of a deleted object | DeleteAttributeOptionById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete option value + + results = AttributeOptionsApi(api_client).delete_attribute_option_by_uid() + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).delete_attribute_option_by_uid(uid) + print("The response of AttributeOptionsApi->delete_attribute_option_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->delete_attribute_option_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attribute-option-by-id +Find option based attribute value +Info for a specific option based attribute value by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-attribute-option-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitAttributeOption200Response**](../models/submit-attribute-option200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOption200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find option based attribute value + + results = AttributeOptionsApi(api_client).get_attribute_option_by_id(id=id) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).get_attribute_option_by_id(id) + print("The response of AttributeOptionsApi->get_attribute_option_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->get_attribute_option_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attribute-option-by-uid +Find option attribute value +Get a specific option based attribute value by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-attribute-option-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**SubmitAttributeOption200Response**](../models/submit-attribute-option200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOption200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find option attribute value + + results = AttributeOptionsApi(api_client).get_attribute_option_by_uid() + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).get_attribute_option_by_uid(uid) + print("The response of AttributeOptionsApi->get_attribute_option_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->get_attribute_option_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attribute-options +Get option based attribute values +Get option based attribute values + +[API Spec](https://developer.sailpoint.com/docs/api//get-attribute-options) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | ne_attribute_id | **str** | (optional) | ID of an attribute for filtering + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetAttributeOptions200Response**](../models/get-attribute-options200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetAttributeOptions200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_attribute_options200_response import GetAttributeOptions200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' # str | ID of an attribute for filtering (optional) # str | ID of an attribute for filtering (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get option based attribute values + + results = AttributeOptionsApi(api_client).get_attribute_options() + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).get_attribute_options(limit, offset, order, ne_attribute_id, metadata) + print("The response of AttributeOptionsApi->get_attribute_options:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->get_attribute_options: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-attribute-option-by-id +Update option based attribute value +Update a option based attribute value by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-attribute-option-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_attribute_option_request | [**SubmitAttributeOptionRequest**](../models/submit-attribute-option-request) | True | + +### Return type +[**SubmitAttributeOption200Response**](../models/submit-attribute-option200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOption200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_attribute_option_request = '''sailpoint.nerm.SubmitAttributeOptionRequest()''' # SubmitAttributeOptionRequest | + + try: + # Update option based attribute value + new_submit_attribute_option_request = SubmitAttributeOptionRequest.from_json(submit_attribute_option_request) + results = AttributeOptionsApi(api_client).patch_attribute_option_by_id(id=id, submit_attribute_option_request=new_submit_attribute_option_request) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).patch_attribute_option_by_id(id, new_submit_attribute_option_request) + print("The response of AttributeOptionsApi->patch_attribute_option_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->patch_attribute_option_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-attribute-option-by-uid +Update option value +Update a option based attribute value by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//patch-attribute-option-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_attribute_option_request | [**SubmitAttributeOptionRequest**](../models/submit-attribute-option-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**SubmitAttributeOption200Response**](../models/submit-attribute-option200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOption200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_attribute_option_request = '''sailpoint.nerm.SubmitAttributeOptionRequest()''' # SubmitAttributeOptionRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update option value + new_submit_attribute_option_request = SubmitAttributeOptionRequest.from_json(submit_attribute_option_request) + results = AttributeOptionsApi(api_client).patch_attribute_option_by_uid(submit_attribute_option_request=new_submit_attribute_option_request) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).patch_attribute_option_by_uid(new_submit_attribute_option_request, uid) + print("The response of AttributeOptionsApi->patch_attribute_option_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->patch_attribute_option_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-attribute-options +Update multiple option values +Update multiple option based attribute values + +[API Spec](https://developer.sailpoint.com/docs/api//patch-attribute-options) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_attribute_options_request | [**SubmitAttributeOptionsRequest**](../models/submit-attribute-options-request) | True | + +### Return type +[**SubmitAttributeOptions200Response**](../models/submit-attribute-options200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOptions200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_attribute_options_request = '''sailpoint.nerm.SubmitAttributeOptionsRequest()''' # SubmitAttributeOptionsRequest | + + try: + # Update multiple option values + new_submit_attribute_options_request = SubmitAttributeOptionsRequest.from_json(submit_attribute_options_request) + results = AttributeOptionsApi(api_client).patch_attribute_options(submit_attribute_options_request=new_submit_attribute_options_request) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).patch_attribute_options(new_submit_attribute_options_request) + print("The response of AttributeOptionsApi->patch_attribute_options:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->patch_attribute_options: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-attribute-option +Add value to option +Adds a value to an option based attribute + +[API Spec](https://developer.sailpoint.com/docs/api//submit-attribute-option) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_attribute_option_request | [**SubmitAttributeOptionRequest**](../models/submit-attribute-option-request) | True | + +### Return type +[**SubmitAttributeOption200Response**](../models/submit-attribute-option200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOption200Response | - | +405 | Invalid input | | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_attribute_option_request = '''sailpoint.nerm.SubmitAttributeOptionRequest()''' # SubmitAttributeOptionRequest | + + try: + # Add value to option + new_submit_attribute_option_request = SubmitAttributeOptionRequest.from_json(submit_attribute_option_request) + results = AttributeOptionsApi(api_client).submit_attribute_option(submit_attribute_option_request=new_submit_attribute_option_request) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).submit_attribute_option(new_submit_attribute_option_request) + print("The response of AttributeOptionsApi->submit_attribute_option:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->submit_attribute_option: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-attribute-options +Create multiple option values +Create multiple new option based attribute values + +[API Spec](https://developer.sailpoint.com/docs/api//submit-attribute-options) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_attribute_options_request | [**SubmitAttributeOptionsRequest**](../models/submit-attribute-options-request) | True | + +### Return type +[**SubmitAttributeOptions200Response**](../models/submit-attribute-options200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitAttributeOptions200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_attribute_options_request = '''sailpoint.nerm.SubmitAttributeOptionsRequest()''' # SubmitAttributeOptionsRequest | + + try: + # Create multiple option values + new_submit_attribute_options_request = SubmitAttributeOptionsRequest.from_json(submit_attribute_options_request) + results = AttributeOptionsApi(api_client).submit_attribute_options(submit_attribute_options_request=new_submit_attribute_options_request) + # Below is a request that includes all optional parameters + # results = AttributeOptionsApi(api_client).submit_attribute_options(new_submit_attribute_options_request) + print("The response of AttributeOptionsApi->submit_attribute_options:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributeOptionsApi->submit_attribute_options: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/AttributesApi.md b/sailpoint/nerm/docs/Methods/AttributesApi.md new file mode 100644 index 000000000..a00d61f13 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/AttributesApi.md @@ -0,0 +1,486 @@ +--- +id: attributes +title: Attributes +pagination_label: attributes +sidebar_label: attributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'attributes', 'attributes'] +slug: /tools/sdk/python//methods/attributes +tags: ['SDK', 'Software Development Kit', 'attributes', 'attributes'] +--- + +# sailpoint.nerm.AttributesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-attribute**](#create-attribute) | **POST** `/ne_attributes` | Create an attribute +[**delete-attribute-by-id**](#delete-attribute-by-id) | **DELETE** `/ne_attributes/{id}` | Delete attribute by id +[**delete-attribute-by-uid**](#delete-attribute-by-uid) | **DELETE** `/ne_attributes/{uid}` | Delete attribute +[**get-attribute-by-id**](#get-attribute-by-id) | **GET** `/ne_attributes/{id}` | Find attribute data by id +[**get-attribute-by-uid**](#get-attribute-by-uid) | **GET** `/ne_attributes/{uid}` | Find attribute data +[**get-attributes**](#get-attributes) | **GET** `/ne_attributes` | Get attribute data in bulk +[**update-attribute-by-id**](#update-attribute-by-id) | **PATCH** `/ne_attributes/{id}` | Update attribute data by id +[**update-attribute-by-uid**](#update-attribute-by-uid) | **PATCH** `/ne_attributes/{uid}` | Update attribute data + + +## create-attribute +Create an attribute +This endpoint can create an attribute + +[API Spec](https://developer.sailpoint.com/docs/api//create-attribute) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_attribute_request | [**CreateAttributeRequest**](../models/create-attribute-request) | True | + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_attribute_request = '''sailpoint.nerm.CreateAttributeRequest()''' # CreateAttributeRequest | + + try: + # Create an attribute + new_create_attribute_request = CreateAttributeRequest.from_json(create_attribute_request) + results = AttributesApi(api_client).create_attribute(create_attribute_request=new_create_attribute_request) + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).create_attribute(new_create_attribute_request) + print("The response of AttributesApi->create_attribute:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->create_attribute: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-attribute-by-id +Delete attribute by id +Delete attribute by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete attribute by id + + results = AttributesApi(api_client).delete_attribute_by_id(id=id) + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).delete_attribute_by_id(id) + print("The response of AttributesApi->delete_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->delete_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-attribute-by-uid +Delete attribute +Delete attribute by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//delete-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete attribute + + results = AttributesApi(api_client).delete_attribute_by_uid() + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).delete_attribute_by_uid(uid) + print("The response of AttributesApi->delete_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->delete_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attribute-by-id +Find attribute data by id +Info for a specific attribute + +[API Spec](https://developer.sailpoint.com/docs/api//get-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find attribute data by id + + results = AttributesApi(api_client).get_attribute_by_id(id=id) + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).get_attribute_by_id(id) + print("The response of AttributesApi->get_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->get_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attribute-by-uid +Find attribute data +Info for a specific attribute by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find attribute data + + results = AttributesApi(api_client).get_attribute_by_uid() + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).get_attribute_by_uid(uid) + print("The response of AttributesApi->get_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->get_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-attributes +Get attribute data in bulk +This endpoint can retrieve attribute data in bulk from Lifecycle or you can search for attributes using parameters + +[API Spec](https://developer.sailpoint.com/docs/api//get-attributes) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | label | **str** | (optional) | The attribute label to filter by + Query | data_type | **str** | (optional) | The attribute data type to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetAttributes200Response**](../models/get-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetAttributes200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_attributes200_response import GetAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + label = 'birthday' # str | The attribute label to filter by (optional) # str | The attribute label to filter by (optional) + data_type = 'text field' # str | The attribute data type to filter by (optional) # str | The attribute data type to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get attribute data in bulk + + results = AttributesApi(api_client).get_attributes() + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).get_attributes(limit, offset, order, label, data_type, metadata) + print("The response of AttributesApi->get_attributes:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->get_attributes: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-attribute-by-id +Update attribute data by id +Update info for a specific attribute + +[API Spec](https://developer.sailpoint.com/docs/api//update-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | create_attribute_request | [**CreateAttributeRequest**](../models/create-attribute-request) | True | + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + create_attribute_request = '''sailpoint.nerm.CreateAttributeRequest()''' # CreateAttributeRequest | + + try: + # Update attribute data by id + new_create_attribute_request = CreateAttributeRequest.from_json(create_attribute_request) + results = AttributesApi(api_client).update_attribute_by_id(id=id, create_attribute_request=new_create_attribute_request) + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).update_attribute_by_id(id, new_create_attribute_request) + print("The response of AttributesApi->update_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->update_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-attribute-by-uid +Update attribute data +Update info for a specific attribute by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//update-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_attribute_request | [**CreateAttributeRequest**](../models/create-attribute-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.attributes_api import AttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_attribute_request = '''sailpoint.nerm.CreateAttributeRequest()''' # CreateAttributeRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update attribute data + new_create_attribute_request = CreateAttributeRequest.from_json(create_attribute_request) + results = AttributesApi(api_client).update_attribute_by_uid(create_attribute_request=new_create_attribute_request) + # Below is a request that includes all optional parameters + # results = AttributesApi(api_client).update_attribute_by_uid(new_create_attribute_request, uid) + print("The response of AttributesApi->update_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AttributesApi->update_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/AuditsApi.md b/sailpoint/nerm/docs/Methods/AuditsApi.md new file mode 100644 index 000000000..e90da6ab9 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/AuditsApi.md @@ -0,0 +1,85 @@ +--- +id: audits +title: Audits +pagination_label: audits +sidebar_label: audits +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'audits', 'audits'] +slug: /tools/sdk/python//methods/audits +tags: ['SDK', 'Software Development Kit', 'audits', 'audits'] +--- + +# sailpoint.nerm.AuditsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**search**](#search) | **POST** `/audit_events/query` | Query for Audit events + + +## search +Query for Audit events +This endpoint provides a search engine for Audit Events by optionally combining subject_type, type, and subject_id to narrow down the audit events. A Subject Type of Profile links up to the AuditableProfile types. An Subject Type of WorkflowSession links up to the AuditableWorkflow types. An Subject Type of Get/Post/Patch/Delete links up to the AuditableApi types. The remaining Subject Types link up to the ActiveRecord types (configuration changes). + +- Any workflow audit event created as of 10/11/2024 will be able to be queried by workflow name, workflow uid, or workflow profile type. +- Any profile audit event created as of 10/11/2024 will be able to be queried by profile type. +- The entity_type parameter has been updated to subject_type, which now matches what is in the response object. +- With the additional query filters added, there is a max of 5 filter parameters at one time (aside from pagination parameters) + +To accommodate these changes, an API contract change was required. Please read the updated API documentation for the new request syntax. + +[API Spec](https://developer.sailpoint.com/docs/api//search) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | search_request | [**SearchRequest**](../models/search-request) | True | + +### Return type +[**Search200Response**](../models/search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | AuditEvents | Search200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.audits_api import AuditsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.search200_response import Search200Response +from sailpoint.nerm.models.search_request import SearchRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + search_request = '''sailpoint.nerm.SearchRequest()''' # SearchRequest | + + try: + # Query for Audit events + new_search_request = SearchRequest.from_json(search_request) + results = AuditsApi(api_client).search(search_request=new_search_request) + # Below is a request that includes all optional parameters + # results = AuditsApi(api_client).search(new_search_request) + print("The response of AuditsApi->search:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling AuditsApi->search: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/ConsolidationApi.md b/sailpoint/nerm/docs/Methods/ConsolidationApi.md new file mode 100644 index 000000000..291b54825 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/ConsolidationApi.md @@ -0,0 +1,132 @@ +--- +id: consolidation +title: Consolidation +pagination_label: consolidation +sidebar_label: consolidation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'consolidation', 'consolidation'] +slug: /tools/sdk/python//methods/consolidation +tags: ['SDK', 'Software Development Kit', 'consolidation', 'consolidation'] +--- + +# sailpoint.nerm.ConsolidationApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-master-record**](#delete-master-record) | **DELETE** `/idproxy/identities/{id}` | Delete a master record +[**patch-data-record**](#patch-data-record) | **PATCH** `/idproxy/data_records/{id}/reassign` | Reassign data record + + +## delete-master-record +Delete a master record +Consolidation is a deprecated feature, this endpoint provides a mechanism to delete a master record to assist customers. + +[API Spec](https://developer.sailpoint.com/docs/api//delete-master-record) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Master record deleted. | | - | +400 | Error deleting master record | DeleteMasterRecord400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.consolidation_api import ConsolidationApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a master record + + ConsolidationApi(api_client).delete_master_record(id=id) + # Below is a request that includes all optional parameters + # ConsolidationApi(api_client).delete_master_record(id) + except Exception as e: + print("Exception when calling ConsolidationApi->delete_master_record: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-data-record +Reassign data record +Consolidation is a deprecated feature, this endpoint provides a mechanism to reassign a data record to a new master record to assist customers. + +[API Spec](https://developer.sailpoint.com/docs/api//patch-data-record) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | data_records | [**DataRecords**](../models/data-records) | True | + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | The data record has been reassigned. | | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.consolidation_api import ConsolidationApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.data_records import DataRecords +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + data_records = '''{ + "master_record_id" : "456738c9ba999a0076cf8a9b" + }''' # DataRecords | + + try: + # Reassign data record + new_data_records = DataRecords.from_json(data_records) + ConsolidationApi(api_client).patch_data_record(id=id, data_records=new_data_records) + # Below is a request that includes all optional parameters + # ConsolidationApi(api_client).patch_data_record(id, new_data_records) + except Exception as e: + print("Exception when calling ConsolidationApi->patch_data_record: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/DelegationsApi.md b/sailpoint/nerm/docs/Methods/DelegationsApi.md new file mode 100644 index 000000000..9df00a2e6 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/DelegationsApi.md @@ -0,0 +1,311 @@ +--- +id: delegations +title: Delegations +pagination_label: delegations +sidebar_label: delegations +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'delegations', 'delegations'] +slug: /tools/sdk/python//methods/delegations +tags: ['SDK', 'Software Development Kit', 'delegations', 'delegations'] +--- + +# sailpoint.nerm.DelegationsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delegations-get**](#delegations-get) | **GET** `/delegations` | List delegations +[**delegations-id-delete**](#delegations-id-delete) | **DELETE** `/delegations/{id}` | Delete a delegation +[**delegations-id-get**](#delegations-id-get) | **GET** `/delegations/{id}` | Get a single delegation +[**delegations-id-patch**](#delegations-id-patch) | **PATCH** `/delegations/{id}` | Update a delegation +[**delegations-post**](#delegations-post) | **POST** `/delegations` | Create a delegation + + +## delegations-get +List delegations +Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + +[API Spec](https://developer.sailpoint.com/docs/api//delegations-get) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | delegate_id | **str** | (optional) (default to 'false') | Filter by delegate ID + Query | delegator_id | **str** | (optional) (default to 'false') | Filter by delegator ID + Query | expired | **bool** | (optional) (default to False) | Filter by expiration status (true for expired, false for not expired) + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + +### Return type +[**DelegationsGet200Response**](../models/delegations-get200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsGet200Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + delegate_id = 'false' # str | Filter by delegate ID (optional) (default to 'false') # str | Filter by delegate ID (optional) (default to 'false') + delegator_id = 'false' # str | Filter by delegator ID (optional) (default to 'false') # str | Filter by delegator ID (optional) (default to 'false') + expired = False # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + + try: + # List delegations + + results = DelegationsApi(api_client).delegations_get() + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_get(delegate_id, delegator_id, expired, metadata, limit, offset) + print("The response of DelegationsApi->delegations_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_get: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-delete +Delete a delegation +Delete an existing delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api//delegations-id-delete) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | The delegation record '<delegation_id>' has been destroyed. | | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a delegation + + DelegationsApi(api_client).delegations_id_delete(id=id) + # Below is a request that includes all optional parameters + # DelegationsApi(api_client).delegations_id_delete(id) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_delete: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-get +Get a single delegation +Returns a single delegation record by its ID. + +[API Spec](https://developer.sailpoint.com/docs/api//delegations-id-get) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Get a single delegation + + results = DelegationsApi(api_client).delegations_id_get(id=id) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_get(id) + print("The response of DelegationsApi->delegations_id_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_get: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-patch +Update a delegation +Update an existing delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api//delegations-id-patch) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | delegations_post_request | [**DelegationsPostRequest**](../models/delegations-post-request) | True | + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + delegations_post_request = '''sailpoint.nerm.DelegationsPostRequest()''' # DelegationsPostRequest | + + try: + # Update a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_id_patch(id=id, delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_patch(id, new_delegations_post_request) + print("The response of DelegationsApi->delegations_id_patch:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_patch: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-post +Create a delegation +Create a new delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api//delegations-post) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | delegations_post_request | [**DelegationsPostRequest**](../models/delegations-post-request) | True | + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.delegations_api import DelegationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + delegations_post_request = '''sailpoint.nerm.DelegationsPostRequest()''' # DelegationsPostRequest | + + try: + # Create a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_post(delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_post(new_delegations_post_request) + print("The response of DelegationsApi->delegations_post:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_post: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/FormAttributesApi.md b/sailpoint/nerm/docs/Methods/FormAttributesApi.md new file mode 100644 index 000000000..c7a6a83b7 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/FormAttributesApi.md @@ -0,0 +1,479 @@ +--- +id: form-attributes +title: Form_attributes +pagination_label: form_attributes +sidebar_label: form_attributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'form_attributes', 'form_attributes'] +slug: /tools/sdk/python//methods/form-attributes +tags: ['SDK', 'Software Development Kit', 'form_attributes', 'form_attributes'] +--- + +# sailpoint.nerm.FormAttributesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-form-attribute**](#create-form-attribute) | **POST** `/form_attributes` | Create a form attribute +[**delete-form-attribute-by-id**](#delete-form-attribute-by-id) | **DELETE** `/form_attributes/{id}` | Delete form attribute +[**delete-form-attribute-by-uid**](#delete-form-attribute-by-uid) | **DELETE** `/form_attributes/{uid}` | Delete form attribute +[**get-form-attribute-by-id**](#get-form-attribute-by-id) | **GET** `/form_attributes/{id}` | Get form attribute data +[**get-form-attribute-by-uid**](#get-form-attribute-by-uid) | **GET** `/form_attributes/{uid}` | Get form attribute data +[**get-form-attributes**](#get-form-attributes) | **GET** `/form_attributes` | Get form attributes +[**update-form-attribute-by-id**](#update-form-attribute-by-id) | **PATCH** `/form_attributes/{id}` | Update form attribute data +[**update-form-attribute-by-uid**](#update-form-attribute-by-uid) | **PATCH** `/form_attributes/{uid}` | Update form attribute data + + +## create-form-attribute +Create a form attribute +This endpoint can create a form attribute + +[API Spec](https://developer.sailpoint.com/docs/api//create-form-attribute) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_form_attribute_request | [**CreateFormAttributeRequest**](../models/create-form-attribute-request) | True | + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_form_attribute_request = '''sailpoint.nerm.CreateFormAttributeRequest()''' # CreateFormAttributeRequest | + + try: + # Create a form attribute + new_create_form_attribute_request = CreateFormAttributeRequest.from_json(create_form_attribute_request) + results = FormAttributesApi(api_client).create_form_attribute(create_form_attribute_request=new_create_form_attribute_request) + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).create_form_attribute(new_create_form_attribute_request) + print("The response of FormAttributesApi->create_form_attribute:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->create_form_attribute: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-form-attribute-by-id +Delete form attribute +Delete form attribute by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-form-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete form attribute + + results = FormAttributesApi(api_client).delete_form_attribute_by_id(id=id) + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).delete_form_attribute_by_id(id) + print("The response of FormAttributesApi->delete_form_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->delete_form_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-form-attribute-by-uid +Delete form attribute +Delete form attribute by UID + +[API Spec](https://developer.sailpoint.com/docs/api//delete-form-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete form attribute + + results = FormAttributesApi(api_client).delete_form_attribute_by_uid() + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).delete_form_attribute_by_uid(uid) + print("The response of FormAttributesApi->delete_form_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->delete_form_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-form-attribute-by-id +Get form attribute data +Gets info for a specific form attribute by ID + +[API Spec](https://developer.sailpoint.com/docs/api//get-form-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Get form attribute data + + results = FormAttributesApi(api_client).get_form_attribute_by_id(id=id) + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).get_form_attribute_by_id(id) + print("The response of FormAttributesApi->get_form_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->get_form_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-form-attribute-by-uid +Get form attribute data +Get info for a specific form attribute by UID + +[API Spec](https://developer.sailpoint.com/docs/api//get-form-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Get form attribute data + + results = FormAttributesApi(api_client).get_form_attribute_by_uid() + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).get_form_attribute_by_uid(uid) + print("The response of FormAttributesApi->get_form_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->get_form_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-form-attributes +Get form attributes +Get defined form attribute in the system + +[API Spec](https://developer.sailpoint.com/docs/api//get-form-attributes) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get form attributes + + results = FormAttributesApi(api_client).get_form_attributes() + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).get_form_attributes() + print("The response of FormAttributesApi->get_form_attributes:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->get_form_attributes: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-form-attribute-by-id +Update form attribute data +Update info for a specific form attribute by ID + +[API Spec](https://developer.sailpoint.com/docs/api//update-form-attribute-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | create_form_attribute_request | [**CreateFormAttributeRequest**](../models/create-form-attribute-request) | True | + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + create_form_attribute_request = '''sailpoint.nerm.CreateFormAttributeRequest()''' # CreateFormAttributeRequest | + + try: + # Update form attribute data + new_create_form_attribute_request = CreateFormAttributeRequest.from_json(create_form_attribute_request) + results = FormAttributesApi(api_client).update_form_attribute_by_id(id=id, create_form_attribute_request=new_create_form_attribute_request) + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).update_form_attribute_by_id(id, new_create_form_attribute_request) + print("The response of FormAttributesApi->update_form_attribute_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->update_form_attribute_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-form-attribute-by-uid +Update form attribute data +Update info for a specific form attribute by UID + +[API Spec](https://developer.sailpoint.com/docs/api//update-form-attribute-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_form_attribute_request | [**CreateFormAttributeRequest**](../models/create-form-attribute-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetFormAttributes200Response**](../models/get-form-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetFormAttributes200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_form_attribute_request = '''sailpoint.nerm.CreateFormAttributeRequest()''' # CreateFormAttributeRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update form attribute data + new_create_form_attribute_request = CreateFormAttributeRequest.from_json(create_form_attribute_request) + results = FormAttributesApi(api_client).update_form_attribute_by_uid(create_form_attribute_request=new_create_form_attribute_request) + # Below is a request that includes all optional parameters + # results = FormAttributesApi(api_client).update_form_attribute_by_uid(new_create_form_attribute_request, uid) + print("The response of FormAttributesApi->update_form_attribute_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormAttributesApi->update_form_attribute_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/FormsApi.md b/sailpoint/nerm/docs/Methods/FormsApi.md new file mode 100644 index 000000000..0e58a0a7c --- /dev/null +++ b/sailpoint/nerm/docs/Methods/FormsApi.md @@ -0,0 +1,479 @@ +--- +id: forms +title: Forms +pagination_label: forms +sidebar_label: forms +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'forms', 'forms'] +slug: /tools/sdk/python//methods/forms +tags: ['SDK', 'Software Development Kit', 'forms', 'forms'] +--- + +# sailpoint.nerm.FormsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-form**](#create-form) | **POST** `/forms` | Create a form +[**delete-form-by-id**](#delete-form-by-id) | **DELETE** `/forms/{id}` | Delete form by id +[**delete-form-by-uid**](#delete-form-by-uid) | **DELETE** `/forms/{uid}` | Delete form by UID +[**get-form-by-id**](#get-form-by-id) | **GET** `/forms/{id}` | Get form data by Id +[**get-form-by-uid**](#get-form-by-uid) | **GET** `/forms/{uid}` | Get form data by UID +[**get-forms**](#get-forms) | **GET** `/forms` | Get forms +[**update-form-by-id**](#update-form-by-id) | **PATCH** `/forms/{id}` | Update form data by id +[**update-form-by-uid**](#update-form-by-uid) | **PATCH** `/forms/{uid}` | Update form data by UID + + +## create-form +Create a form +This endpoint can create a form + +[API Spec](https://developer.sailpoint.com/docs/api//create-form) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_form_request | [**CreateFormRequest**](../models/create-form-request) | True | + +### Return type +[**GetForms200Response**](../models/get-forms200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetForms200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_form_request import CreateFormRequest +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_form_request = '''sailpoint.nerm.CreateFormRequest()''' # CreateFormRequest | + + try: + # Create a form + new_create_form_request = CreateFormRequest.from_json(create_form_request) + results = FormsApi(api_client).create_form(create_form_request=new_create_form_request) + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).create_form(new_create_form_request) + print("The response of FormsApi->create_form:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->create_form: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-form-by-id +Delete form by id +Delete form by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-form-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete form by id + + results = FormsApi(api_client).delete_form_by_id(id=id) + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).delete_form_by_id(id) + print("The response of FormsApi->delete_form_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->delete_form_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-form-by-uid +Delete form by UID +Delete form by UID + +[API Spec](https://developer.sailpoint.com/docs/api//delete-form-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete form by UID + + results = FormsApi(api_client).delete_form_by_uid() + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).delete_form_by_uid(uid) + print("The response of FormsApi->delete_form_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->delete_form_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-form-by-id +Get form data by Id +Info for a specific form + +[API Spec](https://developer.sailpoint.com/docs/api//get-form-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetForms200Response**](../models/get-forms200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetForms200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Get form data by Id + + results = FormsApi(api_client).get_form_by_id(id=id) + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).get_form_by_id(id) + print("The response of FormsApi->get_form_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->get_form_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-form-by-uid +Get form data by UID +Info for a specific form + +[API Spec](https://developer.sailpoint.com/docs/api//get-form-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetForms200Response**](../models/get-forms200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetForms200Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Get form data by UID + + results = FormsApi(api_client).get_form_by_uid() + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).get_form_by_uid(uid) + print("The response of FormsApi->get_form_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->get_form_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-forms +Get forms +Get defined forms in the system + +[API Spec](https://developer.sailpoint.com/docs/api//get-forms) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetForms200Response**](../models/get-forms200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetForms200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get forms + + results = FormsApi(api_client).get_forms() + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).get_forms() + print("The response of FormsApi->get_forms:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->get_forms: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-form-by-id +Update form data by id +Update info for a specific form + +[API Spec](https://developer.sailpoint.com/docs/api//update-form-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | update_form_by_id_request | [**UpdateFormByIdRequest**](../models/update-form-by-id-request) | True | + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + update_form_by_id_request = '''sailpoint.nerm.UpdateFormByIdRequest()''' # UpdateFormByIdRequest | + + try: + # Update form data by id + new_update_form_by_id_request = UpdateFormByIdRequest.from_json(update_form_by_id_request) + results = FormsApi(api_client).update_form_by_id(id=id, update_form_by_id_request=new_update_form_by_id_request) + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).update_form_by_id(id, new_update_form_by_id_request) + print("The response of FormsApi->update_form_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->update_form_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-form-by-uid +Update form data by UID +Update info for a specific form + +[API Spec](https://developer.sailpoint.com/docs/api//update-form-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | update_form_by_id_request | [**UpdateFormByIdRequest**](../models/update-form-by-id-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**CreateAttribute201Response**](../models/create-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateAttribute201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.forms_api import FormsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + update_form_by_id_request = '''sailpoint.nerm.UpdateFormByIdRequest()''' # UpdateFormByIdRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update form data by UID + new_update_form_by_id_request = UpdateFormByIdRequest.from_json(update_form_by_id_request) + results = FormsApi(api_client).update_form_by_uid(update_form_by_id_request=new_update_form_by_id_request) + # Below is a request that includes all optional parameters + # results = FormsApi(api_client).update_form_by_uid(new_update_form_by_id_request, uid) + print("The response of FormsApi->update_form_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling FormsApi->update_form_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/IdentityProofingResultsApi.md b/sailpoint/nerm/docs/Methods/IdentityProofingResultsApi.md new file mode 100644 index 000000000..dbd8db423 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/IdentityProofingResultsApi.md @@ -0,0 +1,87 @@ +--- +id: identity-proofing-results +title: Identity_proofing_results +pagination_label: identity_proofing_results +sidebar_label: identity_proofing_results +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'identity_proofing_results', 'identity_proofing_results'] +slug: /tools/sdk/python//methods/identity-proofing-results +tags: ['SDK', 'Software Development Kit', 'identity_proofing_results', 'identity_proofing_results'] +--- + +# sailpoint.nerm.IdentityProofingResultsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-identity-proofing-results**](#get-identity-proofing-results) | **GET** `/identity_proofing_results` | Get identity proofing result data + + +## get-identity-proofing-results +Get identity proofing result data +Retrieves identity proofing result data in bulk from Lifecycle + +[API Spec](https://developer.sailpoint.com/docs/api//get-identity-proofing-results) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | profile_id | **str** | (optional) | Profile ID to filter by + Query | workflow_session_id | **str** | (optional) | Workflow Session ID to filter by + Query | result | **str** | (optional) | ID Proofing Result to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetIdentityProofingResults200Response**](../models/get-identity-proofing-results200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetIdentityProofingResults200Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.identity_proofing_results_api import IdentityProofingResultsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_identity_proofing_results200_response import GetIdentityProofingResults200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + profile_id = '4e480441-451d-47d9-87c2-9a0f0fe135eb' # str | Profile ID to filter by (optional) # str | Profile ID to filter by (optional) + workflow_session_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | Workflow Session ID to filter by (optional) # str | Workflow Session ID to filter by (optional) + result = 'pass' # str | ID Proofing Result to filter by (optional) # str | ID Proofing Result to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get identity proofing result data + + results = IdentityProofingResultsApi(api_client).get_identity_proofing_results() + # Below is a request that includes all optional parameters + # results = IdentityProofingResultsApi(api_client).get_identity_proofing_results(limit, offset, order, profile_id, workflow_session_id, result, metadata) + print("The response of IdentityProofingResultsApi->get_identity_proofing_results:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling IdentityProofingResultsApi->get_identity_proofing_results: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/Index.md b/sailpoint/nerm/docs/Methods/Index.md new file mode 100644 index 000000000..060a38834 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/Index.md @@ -0,0 +1,30 @@ +--- +id: methods +title: Methods +pagination_label: Methods +sidebar_label: Methods +sidebar_key: v2025-python-methods +sidebar_position: 3 +sidebar_class_name: methods +keywords: ['python', 'Python', 'sdk', 'methods'] +slug: /tools/sdk/python/v2025/methods +tags: ['SDK', 'Software Development Kit', 'v2025', 'methods'] +--- + +Method documents provide detailed information about each API operation (or method). They describe what the method does and details its input parameters, expected return values, and any considerations to be aware of when using it. +## Key Features +- Purpose & Overview: Explains the purpose of the method and its role in the API. +- Parameters: Describe the required input parameters, including their data types. +- Response Format: Details the expected return format or structure. +- Error Scenarios: Outline potential errors or issues that may arise during method execution. +- Example: Provides a sample of how the API uses the method. + +## Available Methods +This is a list of the core methods available in the Python SDK for **V2025** endpoints: + +```mdx-code-block +import DocCardList from '@theme/DocCardList'; +import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; + + +``` \ No newline at end of file diff --git a/sailpoint/nerm/docs/Methods/IscAccountsApi.md b/sailpoint/nerm/docs/Methods/IscAccountsApi.md new file mode 100644 index 000000000..cf27b6941 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/IscAccountsApi.md @@ -0,0 +1,202 @@ +--- +id: isc-accounts +title: Isc_accounts +pagination_label: isc_accounts +sidebar_label: isc_accounts +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'isc_accounts', 'isc_accounts'] +slug: /tools/sdk/python//methods/isc-accounts +tags: ['SDK', 'Software Development Kit', 'isc_accounts', 'isc_accounts'] +--- + +# sailpoint.nerm.IscAccountsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-schema-mapped-profiles-collection**](#get-schema-mapped-profiles-collection) | **GET** `/isc/accounts` | Get Profiles +[**get-single-schema-mapped-profile**](#get-single-schema-mapped-profile) | **GET** `/isc/accounts/{id}` | Get Profile +[**update-profile**](#update-profile) | **PATCH** `/isc/accounts/{id}` | Update Profile + + +## get-schema-mapped-profiles-collection +Get Profiles +Retrieve schema-mapped profiles collection. It returns a collection of stored profiles, optionally using schema-mapped field names if requested. + +[API Spec](https://developer.sailpoint.com/docs/api//get-schema-mapped-profiles-collection) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | use_schema | **bool** | (optional) (default to False) | The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. + Query | override_sync_toggle | **bool** | (optional) (default to False) | The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. + Query | category | **str** | (optional) | Filters profiles by profile type category + Query | status | **str** | (optional) | The status of the profile. It can be multiple values with comma separated. + +### Return type +[**GetSchemaMappedProfilesCollection200Response**](../models/get-schema-mapped-profiles-collection200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSchemaMappedProfilesCollection200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.isc_accounts_api import IscAccountsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + use_schema = False # bool | The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. (optional) (default to False) # bool | The use_schema parameter returns schema-mapped field names in the Profiles API response when set to true. (optional) (default to False) + override_sync_toggle = False # bool | The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. (optional) (default to False) # bool | The override_sync_toggle parameter returns all non-employee and assignment profiles regardless of the sync status when set to true. (optional) (default to False) + category = 'non-employee' # str | Filters profiles by profile type category (optional) # str | Filters profiles by profile type category (optional) + status = 'active,on leave' # str | The status of the profile. It can be multiple values with comma separated. (optional) # str | The status of the profile. It can be multiple values with comma separated. (optional) + + try: + # Get Profiles + + results = IscAccountsApi(api_client).get_schema_mapped_profiles_collection() + # Below is a request that includes all optional parameters + # results = IscAccountsApi(api_client).get_schema_mapped_profiles_collection(limit, offset, use_schema, override_sync_toggle, category, status) + print("The response of IscAccountsApi->get_schema_mapped_profiles_collection:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling IscAccountsApi->get_schema_mapped_profiles_collection: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-single-schema-mapped-profile +Get Profile +It returns a single stored profile, optionally with schema-mapped field names. + +[API Spec](https://developer.sailpoint.com/docs/api//get-single-schema-mapped-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetSingleSchemaMappedProfile200Response**](../models/get-single-schema-mapped-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSingleSchemaMappedProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.isc_accounts_api import IscAccountsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Get Profile + + results = IscAccountsApi(api_client).get_single_schema_mapped_profile(id=id) + # Below is a request that includes all optional parameters + # results = IscAccountsApi(api_client).get_single_schema_mapped_profile(id) + print("The response of IscAccountsApi->get_single_schema_mapped_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling IscAccountsApi->get_single_schema_mapped_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-profile +Update Profile +Updates a profile only through ISC schema-mapped attributes, performs a reverse mapping to match the NERM attributes to update. + +[API Spec](https://developer.sailpoint.com/docs/api//update-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | update_profile_request | [**UpdateProfileRequest**](../models/update-profile-request) | (optional) | + +### Return type +[**GetSingleSchemaMappedProfile200Response**](../models/get-single-schema-mapped-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSingleSchemaMappedProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.isc_accounts_api import IscAccountsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.update_profile_request import UpdateProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + update_profile_request = '''sailpoint.nerm.UpdateProfileRequest()''' # UpdateProfileRequest | (optional) + + try: + # Update Profile + + results = IscAccountsApi(api_client).update_profile(id=id) + # Below is a request that includes all optional parameters + # results = IscAccountsApi(api_client).update_profile(id, new_update_profile_request) + print("The response of IscAccountsApi->update_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling IscAccountsApi->update_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/JobStatusApi.md b/sailpoint/nerm/docs/Methods/JobStatusApi.md new file mode 100644 index 000000000..97ff9c2ef --- /dev/null +++ b/sailpoint/nerm/docs/Methods/JobStatusApi.md @@ -0,0 +1,77 @@ +--- +id: job-status +title: Job_status +pagination_label: job_status +sidebar_label: job_status +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'job_status', 'job_status'] +slug: /tools/sdk/python//methods/job-status +tags: ['SDK', 'Software Development Kit', 'job_status', 'job_status'] +--- + +# sailpoint.nerm.JobStatusApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-job-status**](#get-job-status) | **GET** `/job_status` | Get bulk job status + + +## get-job-status +Get bulk job status +Retrieve the status of a bulk job + +[API Spec](https://developer.sailpoint.com/docs/api//get-job-status) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | job_id | **str** | True | The id of the job returned from a POST or PATCH endpoint that resulted in a job being created + +### Return type +[**GetJobStatus200Response**](../models/get-job-status200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetJobStatus200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.job_status_api import JobStatusApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_job_status200_response import GetJobStatus200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + job_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | The id of the job returned from a POST or PATCH endpoint that resulted in a job being created # str | The id of the job returned from a POST or PATCH endpoint that resulted in a job being created + + try: + # Get bulk job status + + results = JobStatusApi(api_client).get_job_status(job_id=job_id) + # Below is a request that includes all optional parameters + # results = JobStatusApi(api_client).get_job_status(job_id) + print("The response of JobStatusApi->get_job_status:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling JobStatusApi->get_job_status: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/LanguagesApi.md b/sailpoint/nerm/docs/Methods/LanguagesApi.md new file mode 100644 index 000000000..162bc1aab --- /dev/null +++ b/sailpoint/nerm/docs/Methods/LanguagesApi.md @@ -0,0 +1,79 @@ +--- +id: languages +title: Languages +pagination_label: languages +sidebar_label: languages +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'languages', 'languages'] +slug: /tools/sdk/python//methods/languages +tags: ['SDK', 'Software Development Kit', 'languages', 'languages'] +--- + +# sailpoint.nerm.LanguagesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**patch-language**](#patch-language) | **PATCH** `/languages/{locale}` | Update a language by locale + + +## patch-language +Update a language by locale +Update a language by locale + +[API Spec](https://developer.sailpoint.com/docs/api//patch-language) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | language_locale | **str** | True | Language locale of the object + Body | patch_language_request | [**PatchLanguageRequest**](../models/patch-language-request) | True | + +### Return type +[**PatchLanguageRequest**](../models/patch-language-request) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | PatchLanguageRequest | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.languages_api import LanguagesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.patch_language_request import PatchLanguageRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + language_locale = 'es' # str | Language locale of the object # str | Language locale of the object + patch_language_request = '''sailpoint.nerm.PatchLanguageRequest()''' # PatchLanguageRequest | + + try: + # Update a language by locale + new_patch_language_request = PatchLanguageRequest.from_json(patch_language_request) + results = LanguagesApi(api_client).patch_language(language_locale=language_locale, patch_language_request=new_patch_language_request) + # Below is a request that includes all optional parameters + # results = LanguagesApi(api_client).patch_language(language_locale, new_patch_language_request) + print("The response of LanguagesApi->patch_language:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling LanguagesApi->patch_language: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/PageContentTranslationsApi.md b/sailpoint/nerm/docs/Methods/PageContentTranslationsApi.md new file mode 100644 index 000000000..b220e3977 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/PageContentTranslationsApi.md @@ -0,0 +1,474 @@ +--- +id: page-content-translations +title: Page_content_translations +pagination_label: page_content_translations +sidebar_label: page_content_translations +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'page_content_translations', 'page_content_translations'] +slug: /tools/sdk/python//methods/page-content-translations +tags: ['SDK', 'Software Development Kit', 'page_content_translations', 'page_content_translations'] +--- + +# sailpoint.nerm.PageContentTranslationsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-page-content-translation**](#create-page-content-translation) | **POST** `/page_content_translations` | Create page content translation +[**delete-page-content-translation-by-id**](#delete-page-content-translation-by-id) | **DELETE** `/page_content_translations/{id}` | Delete page content translation +[**delete-page-content-translation-by-uid**](#delete-page-content-translation-by-uid) | **DELETE** `/page_content_translations/{uid}` | Delete page content translation +[**get-page-content-translation**](#get-page-content-translation) | **GET** `/page_content_translations` | Get page contents translation +[**get-page-content-translation-by-id**](#get-page-content-translation-by-id) | **GET** `/page_content_translations/{id}` | Find page content translation +[**get-page-content-translation-by-uid**](#get-page-content-translation-by-uid) | **GET** `/page_content_translations/{uid}` | Find page content translation +[**update-page-content-translation-by-id**](#update-page-content-translation-by-id) | **PATCH** `/page_content_translations/{id}` | Update page content translation +[**update-page-content-translation-by-uid**](#update-page-content-translation-by-uid) | **PATCH** `/page_content_translations/{uid}` | Update page content translation + + +## create-page-content-translation +Create page content translation +Create a page content translation record. + +[API Spec](https://developer.sailpoint.com/docs/api//create-page-content-translation) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_page_content_translation_request | [**CreatePageContentTranslationRequest**](../models/create-page-content-translation-request) | True | + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_content_translation_request import CreatePageContentTranslationRequest +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_page_content_translation_request = '''sailpoint.nerm.CreatePageContentTranslationRequest()''' # CreatePageContentTranslationRequest | + + try: + # Create page content translation + new_create_page_content_translation_request = CreatePageContentTranslationRequest.from_json(create_page_content_translation_request) + results = PageContentTranslationsApi(api_client).create_page_content_translation(create_page_content_translation_request=new_create_page_content_translation_request) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).create_page_content_translation(new_create_page_content_translation_request) + print("The response of PageContentTranslationsApi->create_page_content_translation:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->create_page_content_translation: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-content-translation-by-id +Delete page content translation +Delete page content translation by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-content-translation-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete page content translation + + results = PageContentTranslationsApi(api_client).delete_page_content_translation_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).delete_page_content_translation_by_id(id) + print("The response of PageContentTranslationsApi->delete_page_content_translation_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->delete_page_content_translation_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-content-translation-by-uid +Delete page content translation +Delete page content translation by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-content-translation-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete page content translation + + results = PageContentTranslationsApi(api_client).delete_page_content_translation_by_uid(id=id) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).delete_page_content_translation_by_uid(id) + print("The response of PageContentTranslationsApi->delete_page_content_translation_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->delete_page_content_translation_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-content-translation +Get page contents translation +This endpoint can retrieve page content translation data. + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-content-translation) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get page contents translation + + results = PageContentTranslationsApi(api_client).get_page_content_translation() + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).get_page_content_translation() + print("The response of PageContentTranslationsApi->get_page_content_translation:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->get_page_content_translation: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-content-translation-by-id +Find page content translation +Info for a specific page content translation record by Id + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-content-translation-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find page content translation + + results = PageContentTranslationsApi(api_client).get_page_content_translation_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).get_page_content_translation_by_id(id) + print("The response of PageContentTranslationsApi->get_page_content_translation_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->get_page_content_translation_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-content-translation-by-uid +Find page content translation +Info for a specific page content translation record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-content-translation-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find page content translation + + results = PageContentTranslationsApi(api_client).get_page_content_translation_by_uid() + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).get_page_content_translation_by_uid(uid) + print("The response of PageContentTranslationsApi->get_page_content_translation_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->get_page_content_translation_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-content-translation-by-id +Update page content translation +Update info for a specific page content translation record by id + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-content-translation-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | update_page_content_translation_by_id_request | [**UpdatePageContentTranslationByIdRequest**](../models/update-page-content-translation-by-id-request) | True | + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + update_page_content_translation_by_id_request = '''sailpoint.nerm.UpdatePageContentTranslationByIdRequest()''' # UpdatePageContentTranslationByIdRequest | + + try: + # Update page content translation + new_update_page_content_translation_by_id_request = UpdatePageContentTranslationByIdRequest.from_json(update_page_content_translation_by_id_request) + results = PageContentTranslationsApi(api_client).update_page_content_translation_by_id(id=id, update_page_content_translation_by_id_request=new_update_page_content_translation_by_id_request) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).update_page_content_translation_by_id(id, new_update_page_content_translation_by_id_request) + print("The response of PageContentTranslationsApi->update_page_content_translation_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->update_page_content_translation_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-content-translation-by-uid +Update page content translation +Update info for a specific page content translation record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-content-translation-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | update_page_content_translation_by_id_request | [**UpdatePageContentTranslationByIdRequest**](../models/update-page-content-translation-by-id-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageContentTranslation200Response**](../models/get-page-content-translation200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContentTranslation200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + update_page_content_translation_by_id_request = '''sailpoint.nerm.UpdatePageContentTranslationByIdRequest()''' # UpdatePageContentTranslationByIdRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update page content translation + new_update_page_content_translation_by_id_request = UpdatePageContentTranslationByIdRequest.from_json(update_page_content_translation_by_id_request) + results = PageContentTranslationsApi(api_client).update_page_content_translation_by_uid(update_page_content_translation_by_id_request=new_update_page_content_translation_by_id_request) + # Below is a request that includes all optional parameters + # results = PageContentTranslationsApi(api_client).update_page_content_translation_by_uid(new_update_page_content_translation_by_id_request, uid) + print("The response of PageContentTranslationsApi->update_page_content_translation_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentTranslationsApi->update_page_content_translation_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/PageContentsApi.md b/sailpoint/nerm/docs/Methods/PageContentsApi.md new file mode 100644 index 000000000..8b9453a67 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/PageContentsApi.md @@ -0,0 +1,475 @@ +--- +id: page-contents +title: Page_contents +pagination_label: page_contents +sidebar_label: page_contents +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'page_contents', 'page_contents'] +slug: /tools/sdk/python//methods/page-contents +tags: ['SDK', 'Software Development Kit', 'page_contents', 'page_contents'] +--- + +# sailpoint.nerm.PageContentsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-page-content**](#create-page-content) | **POST** `/page_contents` | Create a page content entry +[**delete-page-content-by-id**](#delete-page-content-by-id) | **DELETE** `/page_contents/{id}` | Delete page content record +[**delete-page-content-by-uid**](#delete-page-content-by-uid) | **DELETE** `/page_contents/{uid}` | Delete page content record +[**get-page-content-by-id**](#get-page-content-by-id) | **GET** `/page_contents/{id}` | Find page content record +[**get-page-content-by-uid**](#get-page-content-by-uid) | **GET** `/page_contents/{uid}` | Find a page content record +[**get-page-contents**](#get-page-contents) | **GET** `/page_contents` | Get page contents data +[**update-page-content-by-id**](#update-page-content-by-id) | **PATCH** `/page_contents/{id}` | Update page content record +[**update-page-content-by-uid**](#update-page-content-by-uid) | **PATCH** `/page_contents/{uid}` | Update page content record + + +## create-page-content +Create a page content entry +This endpoint can create page content + +[API Spec](https://developer.sailpoint.com/docs/api//create-page-content) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_page_content_request | [**CreatePageContentRequest**](../models/create-page-content-request) | True | + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_page_content_request = '''sailpoint.nerm.CreatePageContentRequest()''' # CreatePageContentRequest | + + try: + # Create a page content entry + new_create_page_content_request = CreatePageContentRequest.from_json(create_page_content_request) + results = PageContentsApi(api_client).create_page_content(create_page_content_request=new_create_page_content_request) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).create_page_content(new_create_page_content_request) + print("The response of PageContentsApi->create_page_content:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->create_page_content: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-content-by-id +Delete page content record +Delete page content by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-content-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete page content record + + results = PageContentsApi(api_client).delete_page_content_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).delete_page_content_by_id(id) + print("The response of PageContentsApi->delete_page_content_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->delete_page_content_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-content-by-uid +Delete page content record +Delete page content by by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-content-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete page content record + + results = PageContentsApi(api_client).delete_page_content_by_uid(id=id) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).delete_page_content_by_uid(id) + print("The response of PageContentsApi->delete_page_content_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->delete_page_content_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-content-by-id +Find page content record +Info for a specific page content record + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-content-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find page content record + + results = PageContentsApi(api_client).get_page_content_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).get_page_content_by_id(id) + print("The response of PageContentsApi->get_page_content_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->get_page_content_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-content-by-uid +Find a page content record +Info for a specific page content record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-content-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find a page content record + + results = PageContentsApi(api_client).get_page_content_by_uid() + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).get_page_content_by_uid(uid) + print("The response of PageContentsApi->get_page_content_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->get_page_content_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-contents +Get page contents data +This endpoint can retrieve page content data. + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-contents) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get page contents data + + results = PageContentsApi(api_client).get_page_contents() + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).get_page_contents() + print("The response of PageContentsApi->get_page_contents:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->get_page_contents: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-content-by-id +Update page content record +Update info for a specific page content record by id + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-content-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | create_page_content_request | [**CreatePageContentRequest**](../models/create-page-content-request) | True | + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + create_page_content_request = '''sailpoint.nerm.CreatePageContentRequest()''' # CreatePageContentRequest | + + try: + # Update page content record + new_create_page_content_request = CreatePageContentRequest.from_json(create_page_content_request) + results = PageContentsApi(api_client).update_page_content_by_id(id=id, create_page_content_request=new_create_page_content_request) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).update_page_content_by_id(id, new_create_page_content_request) + print("The response of PageContentsApi->update_page_content_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->update_page_content_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-content-by-uid +Update page content record +Update info for a specific page content record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-content-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_page_content_request | [**CreatePageContentRequest**](../models/create-page-content-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageContents200Response**](../models/get-page-contents200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageContents200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_contents_api import PageContentsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_page_content_request = '''sailpoint.nerm.CreatePageContentRequest()''' # CreatePageContentRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update page content record + new_create_page_content_request = CreatePageContentRequest.from_json(create_page_content_request) + results = PageContentsApi(api_client).update_page_content_by_uid(create_page_content_request=new_create_page_content_request) + # Below is a request that includes all optional parameters + # results = PageContentsApi(api_client).update_page_content_by_uid(new_create_page_content_request, uid) + print("The response of PageContentsApi->update_page_content_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageContentsApi->update_page_content_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/PageElementsApi.md b/sailpoint/nerm/docs/Methods/PageElementsApi.md new file mode 100644 index 000000000..130b081eb --- /dev/null +++ b/sailpoint/nerm/docs/Methods/PageElementsApi.md @@ -0,0 +1,474 @@ +--- +id: page-elements +title: Page_elements +pagination_label: page_elements +sidebar_label: page_elements +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'page_elements', 'page_elements'] +slug: /tools/sdk/python//methods/page-elements +tags: ['SDK', 'Software Development Kit', 'page_elements', 'page_elements'] +--- + +# sailpoint.nerm.PageElementsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-page-element**](#create-page-element) | **POST** `/page_elements` | Create a page element entry +[**delete-page-element-by-id**](#delete-page-element-by-id) | **DELETE** `/page_elements/{id}` | Delete page element +[**delete-page-element-by-uid**](#delete-page-element-by-uid) | **DELETE** `/page_elements/{uid}` | Delete page element +[**get-page-element-by-id**](#get-page-element-by-id) | **GET** `/page_elements/{id}` | Find a page element +[**get-page-element-by-uid**](#get-page-element-by-uid) | **GET** `/page_elements/{uid}` | Find page element +[**get-page-elements**](#get-page-elements) | **GET** `/page_elements` | Get page element data +[**update-page-element-by-id**](#update-page-element-by-id) | **PATCH** `/page_elements/{id}` | Update page element +[**update-page-element-by-uid**](#update-page-element-by-uid) | **PATCH** `/page_elements/{uid}` | Update page element + + +## create-page-element +Create a page element entry +Creates a page element. + +[API Spec](https://developer.sailpoint.com/docs/api//create-page-element) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_page_element_request | [**CreatePageElementRequest**](../models/create-page-element-request) | True | + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_page_element_request = '''sailpoint.nerm.CreatePageElementRequest()''' # CreatePageElementRequest | + + try: + # Create a page element entry + new_create_page_element_request = CreatePageElementRequest.from_json(create_page_element_request) + results = PageElementsApi(api_client).create_page_element(create_page_element_request=new_create_page_element_request) + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).create_page_element(new_create_page_element_request) + print("The response of PageElementsApi->create_page_element:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->create_page_element: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-element-by-id +Delete page element +Delete page element by id + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-element-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete page element + + results = PageElementsApi(api_client).delete_page_element_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).delete_page_element_by_id(id) + print("The response of PageElementsApi->delete_page_element_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->delete_page_element_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-page-element-by-uid +Delete page element +Delete page element by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//delete-page-element-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete page element + + results = PageElementsApi(api_client).delete_page_element_by_uid() + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).delete_page_element_by_uid(uid) + print("The response of PageElementsApi->delete_page_element_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->delete_page_element_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-element-by-id +Find a page element +Info for a specific page element record + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-element-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find a page element + + results = PageElementsApi(api_client).get_page_element_by_id(id=id) + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).get_page_element_by_id(id) + print("The response of PageElementsApi->get_page_element_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->get_page_element_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-element-by-uid +Find page element +Info for a specific page element record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-element-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find page element + + results = PageElementsApi(api_client).get_page_element_by_uid() + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).get_page_element_by_uid(uid) + print("The response of PageElementsApi->get_page_element_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->get_page_element_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-page-elements +Get page element data +Retrieves page elements data. + +[API Spec](https://developer.sailpoint.com/docs/api//get-page-elements) + +### Parameters +This endpoint does not need any parameter. + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + + try: + # Get page element data + + results = PageElementsApi(api_client).get_page_elements() + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).get_page_elements() + print("The response of PageElementsApi->get_page_elements:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->get_page_elements: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-element-by-id +Update page element +Update info for a specific page element record by id + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-element-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | create_page_element_request | [**CreatePageElementRequest**](../models/create-page-element-request) | True | + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + create_page_element_request = '''sailpoint.nerm.CreatePageElementRequest()''' # CreatePageElementRequest | + + try: + # Update page element + new_create_page_element_request = CreatePageElementRequest.from_json(create_page_element_request) + results = PageElementsApi(api_client).update_page_element_by_id(id=id, create_page_element_request=new_create_page_element_request) + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).update_page_element_by_id(id, new_create_page_element_request) + print("The response of PageElementsApi->update_page_element_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->update_page_element_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## update-page-element-by-uid +Update page element +Update info for a specific page element record by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//update-page-element-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_page_element_request | [**CreatePageElementRequest**](../models/create-page-element-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**GetPageElements200Response**](../models/get-page-elements200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetPageElements200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +404 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.page_elements_api import PageElementsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_page_element_request = '''sailpoint.nerm.CreatePageElementRequest()''' # CreatePageElementRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update page element + new_create_page_element_request = CreatePageElementRequest.from_json(create_page_element_request) + results = PageElementsApi(api_client).update_page_element_by_uid(create_page_element_request=new_create_page_element_request) + # Below is a request that includes all optional parameters + # results = PageElementsApi(api_client).update_page_element_by_uid(new_create_page_element_request, uid) + print("The response of PageElementsApi->update_page_element_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PageElementsApi->update_page_element_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/PagesApi.md b/sailpoint/nerm/docs/Methods/PagesApi.md new file mode 100644 index 000000000..12748503e --- /dev/null +++ b/sailpoint/nerm/docs/Methods/PagesApi.md @@ -0,0 +1,135 @@ +--- +id: pages +title: Pages +pagination_label: pages +sidebar_label: pages +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'pages', 'pages'] +slug: /tools/sdk/python//methods/pages +tags: ['SDK', 'Software Development Kit', 'pages', 'pages'] +--- + +# sailpoint.nerm.PagesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-profile-page**](#create-profile-page) | **POST** `/pages/profile_pages` | Create a profile page +[**create-workflow-page**](#create-workflow-page) | **POST** `/pages/workflow_pages` | Create a workflow page + + +## create-profile-page +Create a profile page +Create a profile page + +[API Spec](https://developer.sailpoint.com/docs/api//create-profile-page) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profile_page_request | [**CreateProfilePageRequest**](../models/create-profile-page-request) | True | + +### Return type +[**CreateProfilePage200Response**](../models/create-profile-page200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateProfilePage200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.pages_api import PagesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response +from sailpoint.nerm.models.create_profile_page_request import CreateProfilePageRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profile_page_request = '''sailpoint.nerm.CreateProfilePageRequest()''' # CreateProfilePageRequest | + + try: + # Create a profile page + new_create_profile_page_request = CreateProfilePageRequest.from_json(create_profile_page_request) + results = PagesApi(api_client).create_profile_page(create_profile_page_request=new_create_profile_page_request) + # Below is a request that includes all optional parameters + # results = PagesApi(api_client).create_profile_page(new_create_profile_page_request) + print("The response of PagesApi->create_profile_page:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PagesApi->create_profile_page: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-workflow-page +Create a workflow page +Create a workflow page + +[API Spec](https://developer.sailpoint.com/docs/api//create-workflow-page) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_workflow_page_request | [**CreateWorkflowPageRequest**](../models/create-workflow-page-request) | True | + +### Return type +[**CreateProfilePage200Response**](../models/create-profile-page200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateProfilePage200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.pages_api import PagesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response +from sailpoint.nerm.models.create_workflow_page_request import CreateWorkflowPageRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_workflow_page_request = '''sailpoint.nerm.CreateWorkflowPageRequest()''' # CreateWorkflowPageRequest | + + try: + # Create a workflow page + new_create_workflow_page_request = CreateWorkflowPageRequest.from_json(create_workflow_page_request) + results = PagesApi(api_client).create_workflow_page(create_workflow_page_request=new_create_workflow_page_request) + # Below is a request that includes all optional parameters + # results = PagesApi(api_client).create_workflow_page(new_create_workflow_page_request) + print("The response of PagesApi->create_workflow_page:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PagesApi->create_workflow_page: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/PermissionsApi.md b/sailpoint/nerm/docs/Methods/PermissionsApi.md new file mode 100644 index 000000000..3ae347cff --- /dev/null +++ b/sailpoint/nerm/docs/Methods/PermissionsApi.md @@ -0,0 +1,78 @@ +--- +id: permissions +title: Permissions +pagination_label: permissions +sidebar_label: permissions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'permissions', 'permissions'] +slug: /tools/sdk/python//methods/permissions +tags: ['SDK', 'Software Development Kit', 'permissions', 'permissions'] +--- + +# sailpoint.nerm.PermissionsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-permission**](#create-permission) | **POST** `/permissions` | Create a permission + + +## create-permission +Create a permission +This endpoint can create permissions for Lifecycle, Consolidation, and Collaboration + +[API Spec](https://developer.sailpoint.com/docs/api//create-permission) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_permission_request | [**CreatePermissionRequest**](../models/create-permission-request) | True | + +### Return type +[**CreatePermission200Response**](../models/create-permission200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreatePermission200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.permissions_api import PermissionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_permission200_response import CreatePermission200Response +from sailpoint.nerm.models.create_permission_request import CreatePermissionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_permission_request = '''sailpoint.nerm.CreatePermissionRequest()''' # CreatePermissionRequest | + + try: + # Create a permission + new_create_permission_request = CreatePermissionRequest.from_json(create_permission_request) + results = PermissionsApi(api_client).create_permission(create_permission_request=new_create_permission_request) + # Below is a request that includes all optional parameters + # results = PermissionsApi(api_client).create_permission(new_create_permission_request) + print("The response of PermissionsApi->create_permission:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling PermissionsApi->create_permission: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/ProfileTypeRolesApi.md b/sailpoint/nerm/docs/Methods/ProfileTypeRolesApi.md new file mode 100644 index 000000000..01973fc33 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/ProfileTypeRolesApi.md @@ -0,0 +1,78 @@ +--- +id: profile--type-roles +title: Profile__type_roles +pagination_label: profile__type_roles +sidebar_label: profile__type_roles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'profile__type_roles', 'profile__type_roles'] +slug: /tools/sdk/python//methods/profile--type-roles +tags: ['SDK', 'Software Development Kit', 'profile__type_roles', 'profile__type_roles'] +--- + +# sailpoint.nerm.ProfileTypeRolesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-profile-type-role**](#create-profile-type-role) | **POST** `/profile_type_roles` | Create a profile type role + + +## create-profile-type-role +Create a profile type role +This endpoint can create a profile type role. NOTE- The ability to toggle Allow/Block is done through the Profile Type + +[API Spec](https://developer.sailpoint.com/docs/api//create-profile-type-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profile_type_role_request | [**CreateProfileTypeRoleRequest**](../models/create-profile-type-role-request) | True | + +### Return type +[**CreateProfileTypeRole200Response**](../models/create-profile-type-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateProfileTypeRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_type_roles_api import ProfileTypeRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profile_type_role200_response import CreateProfileTypeRole200Response +from sailpoint.nerm.models.create_profile_type_role_request import CreateProfileTypeRoleRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profile_type_role_request = '''sailpoint.nerm.CreateProfileTypeRoleRequest()''' # CreateProfileTypeRoleRequest | + + try: + # Create a profile type role + new_create_profile_type_role_request = CreateProfileTypeRoleRequest.from_json(create_profile_type_role_request) + results = ProfileTypeRolesApi(api_client).create_profile_type_role(create_profile_type_role_request=new_create_profile_type_role_request) + # Below is a request that includes all optional parameters + # results = ProfileTypeRolesApi(api_client).create_profile_type_role(new_create_profile_type_role_request) + print("The response of ProfileTypeRolesApi->create_profile_type_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypeRolesApi->create_profile_type_role: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/ProfileTypesApi.md b/sailpoint/nerm/docs/Methods/ProfileTypesApi.md new file mode 100644 index 000000000..7f14fa71c --- /dev/null +++ b/sailpoint/nerm/docs/Methods/ProfileTypesApi.md @@ -0,0 +1,486 @@ +--- +id: profile-types +title: Profile_types +pagination_label: profile_types +sidebar_label: profile_types +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'profile_types', 'profile_types'] +slug: /tools/sdk/python//methods/profile-types +tags: ['SDK', 'Software Development Kit', 'profile_types', 'profile_types'] +--- + +# sailpoint.nerm.ProfileTypesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-profile-type-by-id**](#delete-profile-type-by-id) | **DELETE** `/profile_types/{id}` | Delete profile type +[**delete-profile-type-by-uid**](#delete-profile-type-by-uid) | **DELETE** `/profile_types/{uid}` | Delete profile type +[**get-profile-type-by-id**](#get-profile-type-by-id) | **GET** `/profile_types/{id}` | Find profile type +[**get-profile-type-by-uid**](#get-profile-type-by-uid) | **GET** `/profile_types/{uid}` | Find profile type +[**get-profile-types**](#get-profile-types) | **GET** `/profile_types` | Get profile types +[**patch-profile-type-by-id**](#patch-profile-type-by-id) | **PATCH** `/profile_types/{id}` | Update a profile type +[**patch-profile-type-by-uid**](#patch-profile-type-by-uid) | **PATCH** `/profile_types/{uid}` | Update a profile type +[**submit-profile-type**](#submit-profile-type) | **POST** `/profile_type` | Create a profile type + + +## delete-profile-type-by-id +Delete profile type +Delete a profile type. All profiles of that type must first be destroyed before the profile type can be destroyed. + +[API Spec](https://developer.sailpoint.com/docs/api//delete-profile-type-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**DeleteProfileTypeById200Response**](../models/delete-profile-type-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Info about the operation | DeleteProfileTypeById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete profile type + + results = ProfileTypesApi(api_client).delete_profile_type_by_id(id=id) + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).delete_profile_type_by_id(id) + print("The response of ProfileTypesApi->delete_profile_type_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->delete_profile_type_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-profile-type-by-uid +Delete profile type +Delete a profile type by UID (user-specified identifier). All profiles of that type must first be destroyed before the profile type can be destroyed. + +[API Spec](https://developer.sailpoint.com/docs/api//delete-profile-type-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**DeleteProfileTypeById200Response**](../models/delete-profile-type-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Info about the operation | DeleteProfileTypeById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Delete profile type + + results = ProfileTypesApi(api_client).delete_profile_type_by_uid() + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).delete_profile_type_by_uid(uid) + print("The response of ProfileTypesApi->delete_profile_type_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->delete_profile_type_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-type-by-id +Find profile type +Find profile type by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-type-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitProfileType200Response**](../models/submit-profile-type200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitProfileType200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find profile type + + results = ProfileTypesApi(api_client).get_profile_type_by_id(id=id) + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).get_profile_type_by_id(id) + print("The response of ProfileTypesApi->get_profile_type_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->get_profile_type_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-type-by-uid +Find profile type +Find profile type by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-type-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**SubmitProfileType200Response**](../models/submit-profile-type200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitProfileType200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Find profile type + + results = ProfileTypesApi(api_client).get_profile_type_by_uid() + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).get_profile_type_by_uid(uid) + print("The response of ProfileTypesApi->get_profile_type_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->get_profile_type_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-types +Get profile types +Get option based attribute values + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-types) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | name | **str** | (optional) | object name for filtering + Query | archived | **bool** | (optional) (default to False) | Filter by archive status + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetProfileTypes200Response**](../models/get-profile-types200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetProfileTypes200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_profile_types200_response import GetProfileTypes200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + name = 'name' # str | object name for filtering (optional) # str | object name for filtering (optional) + archived = False # bool | Filter by archive status (optional) (default to False) # bool | Filter by archive status (optional) (default to False) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get profile types + + results = ProfileTypesApi(api_client).get_profile_types() + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).get_profile_types(limit, offset, order, name, archived, metadata) + print("The response of ProfileTypesApi->get_profile_types:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->get_profile_types: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-profile-type-by-id +Update a profile type +Update a profile type by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-profile-type-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_profile_type_request | [**SubmitProfileTypeRequest**](../models/submit-profile-type-request) | True | + +### Return type +[**SubmitProfileType200Response**](../models/submit-profile-type200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitProfileType200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_profile_type_request = '''sailpoint.nerm.SubmitProfileTypeRequest()''' # SubmitProfileTypeRequest | + + try: + # Update a profile type + new_submit_profile_type_request = SubmitProfileTypeRequest.from_json(submit_profile_type_request) + results = ProfileTypesApi(api_client).patch_profile_type_by_id(id=id, submit_profile_type_request=new_submit_profile_type_request) + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).patch_profile_type_by_id(id, new_submit_profile_type_request) + print("The response of ProfileTypesApi->patch_profile_type_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->patch_profile_type_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-profile-type-by-uid +Update a profile type +Update a profile type by UID (user-specified identifier) + +[API Spec](https://developer.sailpoint.com/docs/api//patch-profile-type-by-uid) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_profile_type_request | [**SubmitProfileTypeRequest**](../models/submit-profile-type-request) | True | +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + +### Return type +[**SubmitProfileType200Response**](../models/submit-profile-type200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitProfileType200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_profile_type_request = '''sailpoint.nerm.SubmitProfileTypeRequest()''' # SubmitProfileTypeRequest | + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + + try: + # Update a profile type + new_submit_profile_type_request = SubmitProfileTypeRequest.from_json(submit_profile_type_request) + results = ProfileTypesApi(api_client).patch_profile_type_by_uid(submit_profile_type_request=new_submit_profile_type_request) + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).patch_profile_type_by_uid(new_submit_profile_type_request, uid) + print("The response of ProfileTypesApi->patch_profile_type_by_uid:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->patch_profile_type_by_uid: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-profile-type +Create a profile type +Create a profile type + +[API Spec](https://developer.sailpoint.com/docs/api//submit-profile-type) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_profile_type_request | [**SubmitProfileTypeRequest**](../models/submit-profile-type-request) | True | + +### Return type +[**SubmitProfileType200Response**](../models/submit-profile-type200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitProfileType200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_profile_type_request = '''sailpoint.nerm.SubmitProfileTypeRequest()''' # SubmitProfileTypeRequest | + + try: + # Create a profile type + new_submit_profile_type_request = SubmitProfileTypeRequest.from_json(submit_profile_type_request) + results = ProfileTypesApi(api_client).submit_profile_type(submit_profile_type_request=new_submit_profile_type_request) + # Below is a request that includes all optional parameters + # results = ProfileTypesApi(api_client).submit_profile_type(new_submit_profile_type_request) + print("The response of ProfileTypesApi->submit_profile_type:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfileTypesApi->submit_profile_type: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/ProfilesApi.md b/sailpoint/nerm/docs/Methods/ProfilesApi.md new file mode 100644 index 000000000..bd459253d --- /dev/null +++ b/sailpoint/nerm/docs/Methods/ProfilesApi.md @@ -0,0 +1,724 @@ +--- +id: profiles +title: Profiles +pagination_label: profiles +sidebar_label: profiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'profiles', 'profiles'] +slug: /tools/sdk/python//methods/profiles +tags: ['SDK', 'Software Development Kit', 'profiles', 'profiles'] +--- + +# sailpoint.nerm.ProfilesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-profiles**](#create-profiles) | **POST** `/profiles` | Create multiple profiles +[**delete-profile-by-id**](#delete-profile-by-id) | **DELETE** `/profiles/{id}` | Delete a single profile +[**delete-profiles**](#delete-profiles) | **DELETE** `/profiles` | Delete multiple profiles +[**get-profile-avatar**](#get-profile-avatar) | **GET** `/profiles/{id}/avatar` | Retrieves profile avatar URL +[**get-profile-by-id**](#get-profile-by-id) | **GET** `/profiles/{id}` | Find profile by id +[**get-profile-upload**](#get-profile-upload) | **GET** `/profiles/{id}/upload/{attribute_id}` | Retrieves profile attribute attachment URL +[**get-profiles**](#get-profiles) | **GET** `/profiles` | Get profiles +[**patch-profile-by-id**](#patch-profile-by-id) | **PATCH** `/profiles/{id}` | Update a profile by id +[**patch-profiles**](#patch-profiles) | **PATCH** `/profiles` | Update multiple profiles +[**submit-profile**](#submit-profile) | **POST** `/profile` | Create a profile +[**submit-profile-avatar**](#submit-profile-avatar) | **POST** `/profiles/{id}/avatar` | Uploads new profile avatar +[**submit-profile-upload**](#submit-profile-upload) | **POST** `/profiles/{id}/upload/{attribute_id}` | Uploads profile attachment attribute + + +## create-profiles +Create multiple profiles +Create multiple profiles + +[API Spec](https://developer.sailpoint.com/docs/api//create-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profiles_request | [**CreateProfilesRequest**](../models/create-profiles-request) | True | + +### Return type +[**SearchAdvancedSearch200Response**](../models/search-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SearchAdvancedSearch200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profiles_request = '''sailpoint.nerm.CreateProfilesRequest()''' # CreateProfilesRequest | + + try: + # Create multiple profiles + new_create_profiles_request = CreateProfilesRequest.from_json(create_profiles_request) + results = ProfilesApi(api_client).create_profiles(create_profiles_request=new_create_profiles_request) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).create_profiles(new_create_profiles_request) + print("The response of ProfilesApi->create_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->create_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-profile-by-id +Delete a single profile +Delete a single profile + +[API Spec](https://developer.sailpoint.com/docs/api//delete-profile-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +204 | The Profile was successfully deleted. | | - | +400 | Error deleting Profile | DeleteMasterRecord400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a single profile + + ProfilesApi(api_client).delete_profile_by_id(id=id) + # Below is a request that includes all optional parameters + # ProfilesApi(api_client).delete_profile_by_id(id) + except Exception as e: + print("Exception when calling ProfilesApi->delete_profile_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-profiles +Delete multiple profiles +Delete multiple profiles + +[API Spec](https://developer.sailpoint.com/docs/api//delete-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profiles_request | [**CreateProfilesRequest**](../models/create-profiles-request) | True | + +### Return type +[**DeleteProfiles200Response**](../models/delete-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DeleteProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest +from sailpoint.nerm.models.delete_profiles200_response import DeleteProfiles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profiles_request = '''sailpoint.nerm.CreateProfilesRequest()''' # CreateProfilesRequest | + + try: + # Delete multiple profiles + new_create_profiles_request = CreateProfilesRequest.from_json(create_profiles_request) + results = ProfilesApi(api_client).delete_profiles(create_profiles_request=new_create_profiles_request) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).delete_profiles(new_create_profiles_request) + print("The response of ProfilesApi->delete_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->delete_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-avatar +Retrieves profile avatar URL +Retrieves the URL of the profile avatar + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-avatar) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Retrieves profile avatar URL + + results = ProfilesApi(api_client).get_profile_avatar(id=id) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).get_profile_avatar(id) + print("The response of ProfilesApi->get_profile_avatar:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->get_profile_avatar: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-by-id +Find profile by id +Find profile by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetSingleSchemaMappedProfile200Response**](../models/get-single-schema-mapped-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSingleSchemaMappedProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find profile by id + + results = ProfilesApi(api_client).get_profile_by_id(id=id) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).get_profile_by_id(id) + print("The response of ProfilesApi->get_profile_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->get_profile_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-upload +Retrieves profile attribute attachment URL +Retrieves the URL of an attachment attribute value from a profile + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-upload) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete +Path | attribute_id | **str** | True | The id of the attachment attribute + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | The id of the attachment attribute # str | The id of the attachment attribute + + try: + # Retrieves profile attribute attachment URL + + results = ProfilesApi(api_client).get_profile_upload(id=id, attribute_id=attribute_id) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).get_profile_upload(id, attribute_id) + print("The response of ProfilesApi->get_profile_upload:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->get_profile_upload: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profiles +Get profiles +Get profiles + +[API Spec](https://developer.sailpoint.com/docs/api//get-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | exclude_attributes | **bool** | (optional) (default to False) | Allows for optimization by not returning the associated attribute data for the returned profiles + Query | name | **str** | (optional) | object name for filtering + Query | profile_type_id | **str** | (optional) | Profile Type ID for filtering + Query | status | **str** | (optional) | status value for filtering + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + Query | after_id | **str** | (optional) | Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. + Query | updated_after | **date** | (optional) | Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. + +### Return type +[**GetSchemaMappedProfilesCollection200Response**](../models/get-schema-mapped-profiles-collection200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSchemaMappedProfilesCollection200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + exclude_attributes = False # bool | Allows for optimization by not returning the associated attribute data for the returned profiles (optional) (default to False) # bool | Allows for optimization by not returning the associated attribute data for the returned profiles (optional) (default to False) + name = 'name' # str | object name for filtering (optional) # str | object name for filtering (optional) + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc242523e' # str | Profile Type ID for filtering (optional) # str | Profile Type ID for filtering (optional) + status = 'Active' # str | status value for filtering (optional) # str | status value for filtering (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + after_id = '4eaa719f-4312-4c5b-9264-d0eb04d4a02a' # str | Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. (optional) # str | Represents the ID where the query should begin from. If blank, it represents the first ID. When used, forces sorting by ID ascending and does not allow use of `offset`. When `after_id` is specified it changes the mode of the API such that any filter parameters other than `profile_type_id`, `limit`, and `offset` are not supported and will be either silently ignored or result in an HTTP 400 error. For example you can not include an `after_id` along with an `archived=false` in the same request. Can be used alongside `metadata` parameter. (optional) + updated_after = 'Sun May 04 20:00:00 EDT 2025' # date | Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. (optional) # date | Adds support for filtering profiles based on the date of the latest modification made on them. Can be used alongside the after_id parameter. (optional) + + try: + # Get profiles + + results = ProfilesApi(api_client).get_profiles() + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).get_profiles(limit, offset, order, exclude_attributes, name, profile_type_id, status, metadata, after_id, updated_after) + print("The response of ProfilesApi->get_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->get_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-profile-by-id +Update a profile by id +Update a profile by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-profile-by-id) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_profile_request | [**SubmitProfileRequest**](../models/submit-profile-request) | True | + +### Return type +[**GetSingleSchemaMappedProfile200Response**](../models/get-single-schema-mapped-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSingleSchemaMappedProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_profile_request = '''sailpoint.nerm.SubmitProfileRequest()''' # SubmitProfileRequest | + + try: + # Update a profile by id + new_submit_profile_request = SubmitProfileRequest.from_json(submit_profile_request) + results = ProfilesApi(api_client).patch_profile_by_id(id=id, submit_profile_request=new_submit_profile_request) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).patch_profile_by_id(id, new_submit_profile_request) + print("The response of ProfilesApi->patch_profile_by_id:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->patch_profile_by_id: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-profiles +Update multiple profiles +Update multiple profiles + +[API Spec](https://developer.sailpoint.com/docs/api//patch-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profiles_request | [**CreateProfilesRequest**](../models/create-profiles-request) | True | + +### Return type +[**SearchAdvancedSearch200Response**](../models/search-advanced-search200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SearchAdvancedSearch200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profiles_request = '''sailpoint.nerm.CreateProfilesRequest()''' # CreateProfilesRequest | + + try: + # Update multiple profiles + new_create_profiles_request = CreateProfilesRequest.from_json(create_profiles_request) + results = ProfilesApi(api_client).patch_profiles(create_profiles_request=new_create_profiles_request) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).patch_profiles(new_create_profiles_request) + print("The response of ProfilesApi->patch_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->patch_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-profile +Create a profile +Create a profile + +[API Spec](https://developer.sailpoint.com/docs/api//submit-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_profile_request | [**SubmitProfileRequest**](../models/submit-profile-request) | True | + +### Return type +[**GetSingleSchemaMappedProfile200Response**](../models/get-single-schema-mapped-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSingleSchemaMappedProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_profile_request = '''sailpoint.nerm.SubmitProfileRequest()''' # SubmitProfileRequest | + + try: + # Create a profile + new_submit_profile_request = SubmitProfileRequest.from_json(submit_profile_request) + results = ProfilesApi(api_client).submit_profile(submit_profile_request=new_submit_profile_request) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).submit_profile(new_submit_profile_request) + print("The response of ProfilesApi->submit_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->submit_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-profile-avatar +Uploads new profile avatar +Uploads a new profile avatar + +[API Spec](https://developer.sailpoint.com/docs/api//submit-profile-avatar) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + | file | **bytearray** | (optional) | + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + file = None # bytearray | (optional) # bytearray | (optional) + + try: + # Uploads new profile avatar + + results = ProfilesApi(api_client).submit_profile_avatar(id=id) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).submit_profile_avatar(id, file) + print("The response of ProfilesApi->submit_profile_avatar:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->submit_profile_avatar: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-profile-upload +Uploads profile attachment attribute +Uploads a new attachment attribute value to a profile. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + +[API Spec](https://developer.sailpoint.com/docs/api//submit-profile-upload) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete +Path | attribute_id | **str** | True | The id of the attachment attribute + | file | **bytearray** | (optional) | + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.profiles_api import ProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | The id of the attachment attribute # str | The id of the attachment attribute + file = None # bytearray | (optional) # bytearray | (optional) + + try: + # Uploads profile attachment attribute + + results = ProfilesApi(api_client).submit_profile_upload(id=id, attribute_id=attribute_id) + # Below is a request that includes all optional parameters + # results = ProfilesApi(api_client).submit_profile_upload(id, attribute_id, file) + print("The response of ProfilesApi->submit_profile_upload:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling ProfilesApi->submit_profile_upload: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/RiskLevelsApi.md b/sailpoint/nerm/docs/Methods/RiskLevelsApi.md new file mode 100644 index 000000000..12b9e0480 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/RiskLevelsApi.md @@ -0,0 +1,141 @@ +--- +id: risk-levels +title: Risk_levels +pagination_label: risk_levels +sidebar_label: risk_levels +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'risk_levels', 'risk_levels'] +slug: /tools/sdk/python//methods/risk-levels +tags: ['SDK', 'Software Development Kit', 'risk_levels', 'risk_levels'] +--- + +# sailpoint.nerm.RiskLevelsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-risk-level**](#get-risk-level) | **GET** `/risk_levels/{id}` | Find risk level data +[**get-risk-levels**](#get-risk-levels) | **GET** `/risk_levels` | Get risk level data + + +## get-risk-level +Find risk level data +Find risk level data by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-risk-level) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetRiskLevel200Response**](../models/get-risk-level200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRiskLevel200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.risk_levels_api import RiskLevelsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_risk_level200_response import GetRiskLevel200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find risk level data + + results = RiskLevelsApi(api_client).get_risk_level(id=id) + # Below is a request that includes all optional parameters + # results = RiskLevelsApi(api_client).get_risk_level(id) + print("The response of RiskLevelsApi->get_risk_level:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RiskLevelsApi->get_risk_level: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-risk-levels +Get risk level data +This endpoint can retrieve risk level data in bulk from Lifecycle + +[API Spec](https://developer.sailpoint.com/docs/api//get-risk-levels) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | label | **str** | (optional) | The attribute label to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetRiskLevels200Response**](../models/get-risk-levels200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRiskLevels200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.risk_levels_api import RiskLevelsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_risk_levels200_response import GetRiskLevels200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + label = 'birthday' # str | The attribute label to filter by (optional) # str | The attribute label to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get risk level data + + results = RiskLevelsApi(api_client).get_risk_levels() + # Below is a request that includes all optional parameters + # results = RiskLevelsApi(api_client).get_risk_levels(limit, offset, order, label, metadata) + print("The response of RiskLevelsApi->get_risk_levels:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RiskLevelsApi->get_risk_levels: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/RiskScoresApi.md b/sailpoint/nerm/docs/Methods/RiskScoresApi.md new file mode 100644 index 000000000..d10b83ec9 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/RiskScoresApi.md @@ -0,0 +1,149 @@ +--- +id: risk-scores +title: Risk_scores +pagination_label: risk_scores +sidebar_label: risk_scores +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'risk_scores', 'risk_scores'] +slug: /tools/sdk/python//methods/risk-scores +tags: ['SDK', 'Software Development Kit', 'risk_scores', 'risk_scores'] +--- + +# sailpoint.nerm.RiskScoresApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-risk-score**](#get-risk-score) | **GET** `/risk_scores/{id}` | Find risk score data +[**get-risk-scores**](#get-risk-scores) | **GET** `/risk_scores` | Get risk score data + + +## get-risk-score +Find risk score data +Find risk score data by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-risk-score) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**GetRiskScore200Response**](../models/get-risk-score200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRiskScore200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.risk_scores_api import RiskScoresApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_risk_score200_response import GetRiskScore200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find risk score data + + results = RiskScoresApi(api_client).get_risk_score(id=id) + # Below is a request that includes all optional parameters + # results = RiskScoresApi(api_client).get_risk_score(id) + print("The response of RiskScoresApi->get_risk_score:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RiskScoresApi->get_risk_score: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-risk-scores +Get risk score data +This endpoint can retrieve risk score data in bulk from Lifecycle + +[API Spec](https://developer.sailpoint.com/docs/api//get-risk-scores) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | object_id | **str** | (optional) | ID of an object for filtering. Used along with object_type + Query | object_type | **str** | (optional) | Type of object that object_id represents + Query | overall_risk_level_id | **str** | (optional) | Overall risk level to filter by + Query | impact_risk_level_id | **str** | (optional) | Impact risk level to filter by + Query | probability_risk_level_id | **str** | (optional) | Probability risk level to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetRiskScores200Response**](../models/get-risk-scores200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRiskScores200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.risk_scores_api import RiskScoresApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_risk_scores200_response import GetRiskScores200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + object_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | ID of an object for filtering. Used along with object_type (optional) # str | ID of an object for filtering. Used along with object_type (optional) + object_type = 'Profile' # str | Type of object that object_id represents (optional) # str | Type of object that object_id represents (optional) + overall_risk_level_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | Overall risk level to filter by (optional) # str | Overall risk level to filter by (optional) + impact_risk_level_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | Impact risk level to filter by (optional) # str | Impact risk level to filter by (optional) + probability_risk_level_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | Probability risk level to filter by (optional) # str | Probability risk level to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get risk score data + + results = RiskScoresApi(api_client).get_risk_scores() + # Below is a request that includes all optional parameters + # results = RiskScoresApi(api_client).get_risk_scores(limit, offset, order, object_id, object_type, overall_risk_level_id, impact_risk_level_id, probability_risk_level_id, metadata) + print("The response of RiskScoresApi->get_risk_scores:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RiskScoresApi->get_risk_scores: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/RoleProfilesApi.md b/sailpoint/nerm/docs/Methods/RoleProfilesApi.md new file mode 100644 index 000000000..71af315ee --- /dev/null +++ b/sailpoint/nerm/docs/Methods/RoleProfilesApi.md @@ -0,0 +1,427 @@ +--- +id: role-profiles +title: Role_profiles +pagination_label: role_profiles +sidebar_label: role_profiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'role_profiles', 'role_profiles'] +slug: /tools/sdk/python//methods/role-profiles +tags: ['SDK', 'Software Development Kit', 'role_profiles', 'role_profiles'] +--- + +# sailpoint.nerm.RoleProfilesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-role-profile**](#delete-role-profile) | **DELETE** `/role_profile/{id}` | Delete a role profile assignment +[**get-role-profile**](#get-role-profile) | **GET** `/role_profiles/{id}` | Find role-profile contributor relationship +[**get-role-profiles**](#get-role-profiles) | **GET** `/role_profiles` | Get role-profile contributor relationships +[**patch-role-profile**](#patch-role-profile) | **PATCH** `/role_profiles/{id}` | Update a role-profile contributor relationship +[**patch-role-profiles**](#patch-role-profiles) | **PATCH** `/role_profiles` | Update multiple role-profile contributor relationships +[**submit-role-profile**](#submit-role-profile) | **POST** `/role_profile` | Create a role-profile contributor relationship +[**submit-role-profiles**](#submit-role-profiles) | **POST** `/role_profiles` | Create multiple role-profile contributor relationships + + +## delete-role-profile +Delete a role profile assignment +Delete a role profile assignment + +[API Spec](https://developer.sailpoint.com/docs/api//delete-role-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +**object** + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Role profile was destroyed | object | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a role profile assignment + + results = RoleProfilesApi(api_client).delete_role_profile(id=id) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).delete_role_profile(id) + print("The response of RoleProfilesApi->delete_role_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->delete_role_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-role-profile +Find role-profile contributor relationship +Find role-profile contributor relationship by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-role-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitRoleProfile200Response**](../models/submit-role-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoleProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find role-profile contributor relationship + + results = RoleProfilesApi(api_client).get_role_profile(id=id) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).get_role_profile(id) + print("The response of RoleProfilesApi->get_role_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->get_role_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-role-profiles +Get role-profile contributor relationships +Get role-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//get-role-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | role_id | **str** | (optional) | The ID of a role for filtering + Query | profile_id | **str** | (optional) | Profile ID to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetRoleProfiles200Response**](../models/get-role-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRoleProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_role_profiles200_response import GetRoleProfiles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + role_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | The ID of a role for filtering (optional) # str | The ID of a role for filtering (optional) + profile_id = '4e480441-451d-47d9-87c2-9a0f0fe135eb' # str | Profile ID to filter by (optional) # str | Profile ID to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get role-profile contributor relationships + + results = RoleProfilesApi(api_client).get_role_profiles() + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).get_role_profiles(limit, offset, order, role_id, profile_id, metadata) + print("The response of RoleProfilesApi->get_role_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->get_role_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-role-profile +Update a role-profile contributor relationship +Update a role-profile contributor relationship by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-role-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_role_profile_request | [**SubmitRoleProfileRequest**](../models/submit-role-profile-request) | True | + +### Return type +[**SubmitRoleProfile200Response**](../models/submit-role-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoleProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_role_profile_request = '''sailpoint.nerm.SubmitRoleProfileRequest()''' # SubmitRoleProfileRequest | + + try: + # Update a role-profile contributor relationship + new_submit_role_profile_request = SubmitRoleProfileRequest.from_json(submit_role_profile_request) + results = RoleProfilesApi(api_client).patch_role_profile(id=id, submit_role_profile_request=new_submit_role_profile_request) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).patch_role_profile(id, new_submit_role_profile_request) + print("The response of RoleProfilesApi->patch_role_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->patch_role_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-role-profiles +Update multiple role-profile contributor relationships +Update multiple role-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//patch-role-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_role_profiles_request | [**SubmitRoleProfilesRequest**](../models/submit-role-profiles-request) | True | + +### Return type +[**SubmitRoleProfiles200Response**](../models/submit-role-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoleProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_role_profiles_request = '''sailpoint.nerm.SubmitRoleProfilesRequest()''' # SubmitRoleProfilesRequest | + + try: + # Update multiple role-profile contributor relationships + new_submit_role_profiles_request = SubmitRoleProfilesRequest.from_json(submit_role_profiles_request) + results = RoleProfilesApi(api_client).patch_role_profiles(submit_role_profiles_request=new_submit_role_profiles_request) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).patch_role_profiles(new_submit_role_profiles_request) + print("The response of RoleProfilesApi->patch_role_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->patch_role_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-role-profile +Create a role-profile contributor relationship +Create a role-profile contributor relationship + +[API Spec](https://developer.sailpoint.com/docs/api//submit-role-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_role_profile_request | [**SubmitRoleProfileRequest**](../models/submit-role-profile-request) | True | + +### Return type +[**SubmitRoleProfile200Response**](../models/submit-role-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoleProfile200Response | - | +405 | Invalid input | | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_role_profile_request = '''sailpoint.nerm.SubmitRoleProfileRequest()''' # SubmitRoleProfileRequest | + + try: + # Create a role-profile contributor relationship + new_submit_role_profile_request = SubmitRoleProfileRequest.from_json(submit_role_profile_request) + results = RoleProfilesApi(api_client).submit_role_profile(submit_role_profile_request=new_submit_role_profile_request) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).submit_role_profile(new_submit_role_profile_request) + print("The response of RoleProfilesApi->submit_role_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->submit_role_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-role-profiles +Create multiple role-profile contributor relationships +Create multiple role-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//submit-role-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_role_profiles_request | [**SubmitRoleProfilesRequest**](../models/submit-role-profiles-request) | True | + +### Return type +[**SubmitRoleProfiles200Response**](../models/submit-role-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoleProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_role_profiles_request = '''sailpoint.nerm.SubmitRoleProfilesRequest()''' # SubmitRoleProfilesRequest | + + try: + # Create multiple role-profile contributor relationships + new_submit_role_profiles_request = SubmitRoleProfilesRequest.from_json(submit_role_profiles_request) + results = RoleProfilesApi(api_client).submit_role_profiles(submit_role_profiles_request=new_submit_role_profiles_request) + # Below is a request that includes all optional parameters + # results = RoleProfilesApi(api_client).submit_role_profiles(new_submit_role_profiles_request) + print("The response of RoleProfilesApi->submit_role_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RoleProfilesApi->submit_role_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/RolesApi.md b/sailpoint/nerm/docs/Methods/RolesApi.md new file mode 100644 index 000000000..fc7bf570a --- /dev/null +++ b/sailpoint/nerm/docs/Methods/RolesApi.md @@ -0,0 +1,371 @@ +--- +id: roles +title: Roles +pagination_label: roles +sidebar_label: roles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'roles', 'roles'] +slug: /tools/sdk/python//methods/roles +tags: ['SDK', 'Software Development Kit', 'roles', 'roles'] +--- + +# sailpoint.nerm.RolesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-role**](#get-role) | **GET** `/roles/{id}` | Find role by id +[**get-roles**](#get-roles) | **GET** `/roles` | Get roles +[**patch-role**](#patch-role) | **PATCH** `/roles/{id}` | Update an existing role +[**patch-roles**](#patch-roles) | **PATCH** `/roles` | Update multiple roles +[**submit-role**](#submit-role) | **POST** `/role` | Create a new role +[**submit-roles**](#submit-roles) | **POST** `/roles` | Create multiple new roles + + +## get-role +Find role by id +Info for a specific user role + +[API Spec](https://developer.sailpoint.com/docs/api//get-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitRole200Response**](../models/submit-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find role by id + + results = RolesApi(api_client).get_role(id=id) + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).get_role(id) + print("The response of RolesApi->get_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->get_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-roles +Get roles +This endpoint can retrieve roles from NERM. Optionally you can provide parameters to filter results. + +[API Spec](https://developer.sailpoint.com/docs/api//get-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + Query | type | **str** | (optional) | Filter roles by type. + +### Return type +[**GetRoles200Response**](../models/get-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_roles200_response import GetRoles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + type = 'NeprofileRole' # str | Filter roles by type. (optional) # str | Filter roles by type. (optional) + + try: + # Get roles + + results = RolesApi(api_client).get_roles() + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).get_roles(limit, offset, order, metadata, type) + print("The response of RolesApi->get_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->get_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-role +Update an existing role +Update an existing role + +[API Spec](https://developer.sailpoint.com/docs/api//patch-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_role_request | [**SubmitRoleRequest**](../models/submit-role-request) | True | + +### Return type +[**SubmitRole200Response**](../models/submit-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_role_request = '''sailpoint.nerm.SubmitRoleRequest()''' # SubmitRoleRequest | + + try: + # Update an existing role + new_submit_role_request = SubmitRoleRequest.from_json(submit_role_request) + results = RolesApi(api_client).patch_role(id=id, submit_role_request=new_submit_role_request) + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).patch_role(id, new_submit_role_request) + print("The response of RolesApi->patch_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->patch_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-roles +Update multiple roles +Update multiple users + +[API Spec](https://developer.sailpoint.com/docs/api//patch-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_roles_request | [**SubmitRolesRequest**](../models/submit-roles-request) | True | + +### Return type +[**SubmitRoles200Response**](../models/submit-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_roles_request = '''sailpoint.nerm.SubmitRolesRequest()''' # SubmitRolesRequest | + + try: + # Update multiple roles + new_submit_roles_request = SubmitRolesRequest.from_json(submit_roles_request) + results = RolesApi(api_client).patch_roles(submit_roles_request=new_submit_roles_request) + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).patch_roles(new_submit_roles_request) + print("The response of RolesApi->patch_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->patch_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-role +Create a new role +Create a new role + +[API Spec](https://developer.sailpoint.com/docs/api//submit-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_role_request | [**SubmitRoleRequest**](../models/submit-role-request) | True | + +### Return type +[**SubmitRole200Response**](../models/submit-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_role_request = '''sailpoint.nerm.SubmitRoleRequest()''' # SubmitRoleRequest | + + try: + # Create a new role + new_submit_role_request = SubmitRoleRequest.from_json(submit_role_request) + results = RolesApi(api_client).submit_role(submit_role_request=new_submit_role_request) + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).submit_role(new_submit_role_request) + print("The response of RolesApi->submit_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->submit_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-roles +Create multiple new roles +Create multiple new users + +[API Spec](https://developer.sailpoint.com/docs/api//submit-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_roles_request | [**SubmitRolesRequest**](../models/submit-roles-request) | True | + +### Return type +[**SubmitRoles200Response**](../models/submit-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.roles_api import RolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_roles_request = '''sailpoint.nerm.SubmitRolesRequest()''' # SubmitRolesRequest | + + try: + # Create multiple new roles + new_submit_roles_request = SubmitRolesRequest.from_json(submit_roles_request) + results = RolesApi(api_client).submit_roles(submit_roles_request=new_submit_roles_request) + # Below is a request that includes all optional parameters + # results = RolesApi(api_client).submit_roles(new_submit_roles_request) + print("The response of RolesApi->submit_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling RolesApi->submit_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/SyncedAttributesApi.md b/sailpoint/nerm/docs/Methods/SyncedAttributesApi.md new file mode 100644 index 000000000..0b173ba32 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/SyncedAttributesApi.md @@ -0,0 +1,200 @@ +--- +id: synced-attributes +title: Synced_attributes +pagination_label: synced_attributes +sidebar_label: synced_attributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'synced_attributes', 'synced_attributes'] +slug: /tools/sdk/python//methods/synced-attributes +tags: ['SDK', 'Software Development Kit', 'synced_attributes', 'synced_attributes'] +--- + +# sailpoint.nerm.SyncedAttributesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-synced-attribute**](#create-synced-attribute) | **POST** `/profile_types/{profile_type_id}/synced_attributes` | Create a synced attribute +[**delete-synced-attribute**](#delete-synced-attribute) | **DELETE** `/profile_types/{profile_type_id}/synced_attributes/{ne_attribute_id}` | Delete synced attribute +[**get-profile-type-attributes**](#get-profile-type-attributes) | **GET** `/profile_types/{profile_type_id}/ne_attributes` | profile_types/ne_attributes synced status + + +## create-synced-attribute +Create a synced attribute +Create synced attribute + +[API Spec](https://developer.sailpoint.com/docs/api//create-synced-attribute) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | synced_attribute1 | [**SyncedAttribute1**](../models/synced-attribute1) | True | + +### Return type +[**CreateSyncedAttribute201Response**](../models/create-synced-attribute201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | CreateSyncedAttribute201Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.synced_attributes_api import SyncedAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_synced_attribute201_response import CreateSyncedAttribute201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + synced_attribute1 = '''{'key': sailpoint.nerm.SyncedAttribute1()}''' # SyncedAttribute1 | + + try: + # Create a synced attribute + new_synced_attribute1 = SyncedAttribute1.from_json(synced_attribute1) + results = SyncedAttributesApi(api_client).create_synced_attribute(synced_attribute1=new_synced_attribute1) + # Below is a request that includes all optional parameters + # results = SyncedAttributesApi(api_client).create_synced_attribute(new_synced_attribute1) + print("The response of SyncedAttributesApi->create_synced_attribute:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling SyncedAttributesApi->create_synced_attribute: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-synced-attribute +Delete synced attribute +Delete a synced attribute. + +[API Spec](https://developer.sailpoint.com/docs/api//delete-synced-attribute) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | profile_type_id | **str** | (optional) | Profile Type ID for filtering + Query | ne_attribute_id | **str** | (optional) | ID of an attribute for filtering + +### Return type +[**DeleteProfileTypeById200Response**](../models/delete-profile-type-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Info about the operation | DeleteProfileTypeById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.synced_attributes_api import SyncedAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc242523e' # str | Profile Type ID for filtering (optional) # str | Profile Type ID for filtering (optional) + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' # str | ID of an attribute for filtering (optional) # str | ID of an attribute for filtering (optional) + + try: + # Delete synced attribute + + results = SyncedAttributesApi(api_client).delete_synced_attribute() + # Below is a request that includes all optional parameters + # results = SyncedAttributesApi(api_client).delete_synced_attribute(profile_type_id, ne_attribute_id) + print("The response of SyncedAttributesApi->delete_synced_attribute:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling SyncedAttributesApi->delete_synced_attribute: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-profile-type-attributes +profile_types/ne_attributes synced status +Get ne attributes and synced attribute relationship to profile type. + +[API Spec](https://developer.sailpoint.com/docs/api//get-profile-type-attributes) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | profile_type_id | **str** | (optional) | Profile Type ID for filtering + Query | active_filter | **str** | (optional) | Filter for profile type synced attributes + Query | search | **str** | (optional) | Filter by string + Query | page | **int** | (optional) | Pagination items per page + Query | sort | [**GetProfileTypeAttributesSortParameter**](../models/get-profile-type-attributes-sort-parameter) | (optional) | How records should be sorted + +### Return type +[**GetProfileTypeAttributes200Response**](../models/get-profile-type-attributes200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetProfileTypeAttributes200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.synced_attributes_api import SyncedAttributesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_profile_type_attributes200_response import GetProfileTypeAttributes200Response +from sailpoint.nerm.models.get_profile_type_attributes_sort_parameter import GetProfileTypeAttributesSortParameter +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc242523e' # str | Profile Type ID for filtering (optional) # str | Profile Type ID for filtering (optional) + active_filter = 'all' # str | Filter for profile type synced attributes (optional) # str | Filter for profile type synced attributes (optional) + search = 'search' # str | Filter by string (optional) # str | Filter by string (optional) + page = 5 # int | Pagination items per page (optional) # int | Pagination items per page (optional) + sort = '''sailpoint.nerm.GetProfileTypeAttributesSortParameter()''' # GetProfileTypeAttributesSortParameter | How records should be sorted (optional) + + try: + # profile_types/ne_attributes synced status + + results = SyncedAttributesApi(api_client).get_profile_type_attributes() + # Below is a request that includes all optional parameters + # results = SyncedAttributesApi(api_client).get_profile_type_attributes(profile_type_id, active_filter, search, page, sort) + print("The response of SyncedAttributesApi->get_profile_type_attributes:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling SyncedAttributesApi->get_profile_type_attributes: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/SystemRolePermissionsApi.md b/sailpoint/nerm/docs/Methods/SystemRolePermissionsApi.md new file mode 100644 index 000000000..97372f64a --- /dev/null +++ b/sailpoint/nerm/docs/Methods/SystemRolePermissionsApi.md @@ -0,0 +1,78 @@ +--- +id: system-role-permissions +title: System_role_permissions +pagination_label: system_role_permissions +sidebar_label: system_role_permissions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'system_role_permissions', 'system_role_permissions'] +slug: /tools/sdk/python//methods/system-role-permissions +tags: ['SDK', 'Software Development Kit', 'system_role_permissions', 'system_role_permissions'] +--- + +# sailpoint.nerm.SystemRolePermissionsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-system-role-permission**](#create-system-role-permission) | **POST** `/system_role_permissions` | Create a system role permission + + +## create-system-role-permission +Create a system role permission +This endpoint can create system role permissions for Lifecycle System Roles + +[API Spec](https://developer.sailpoint.com/docs/api//create-system-role-permission) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_system_role_permission_request | [**CreateSystemRolePermissionRequest**](../models/create-system-role-permission-request) | True | + +### Return type +[**CreateSystemRolePermission200Response**](../models/create-system-role-permission200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateSystemRolePermission200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.system_role_permissions_api import SystemRolePermissionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_system_role_permission200_response import CreateSystemRolePermission200Response +from sailpoint.nerm.models.create_system_role_permission_request import CreateSystemRolePermissionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_system_role_permission_request = '''sailpoint.nerm.CreateSystemRolePermissionRequest()''' # CreateSystemRolePermissionRequest | + + try: + # Create a system role permission + new_create_system_role_permission_request = CreateSystemRolePermissionRequest.from_json(create_system_role_permission_request) + results = SystemRolePermissionsApi(api_client).create_system_role_permission(create_system_role_permission_request=new_create_system_role_permission_request) + # Below is a request that includes all optional parameters + # results = SystemRolePermissionsApi(api_client).create_system_role_permission(new_create_system_role_permission_request) + print("The response of SystemRolePermissionsApi->create_system_role_permission:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling SystemRolePermissionsApi->create_system_role_permission: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/SystemRolesApi.md b/sailpoint/nerm/docs/Methods/SystemRolesApi.md new file mode 100644 index 000000000..e71debbaa --- /dev/null +++ b/sailpoint/nerm/docs/Methods/SystemRolesApi.md @@ -0,0 +1,83 @@ +--- +id: system-roles +title: System_roles +pagination_label: system_roles +sidebar_label: system_roles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'system_roles', 'system_roles'] +slug: /tools/sdk/python//methods/system-roles +tags: ['SDK', 'Software Development Kit', 'system_roles', 'system_roles'] +--- + +# sailpoint.nerm.SystemRolesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-system-roles**](#get-system-roles) | **GET** `/system_roles` | Get system roles + + +## get-system-roles +Get system roles +This endpoint can retrieve system roles from NERM. Optionally you can provide parameters to filter results. + +[API Spec](https://developer.sailpoint.com/docs/api//get-system-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetSystemRoles200Response**](../models/get-system-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetSystemRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.system_roles_api import SystemRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_system_roles200_response import GetSystemRoles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get system roles + + results = SystemRolesApi(api_client).get_system_roles() + # Below is a request that includes all optional parameters + # results = SystemRolesApi(api_client).get_system_roles(limit, offset, order, metadata) + print("The response of SystemRolesApi->get_system_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling SystemRolesApi->get_system_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/UserManagersApi.md b/sailpoint/nerm/docs/Methods/UserManagersApi.md new file mode 100644 index 000000000..d5f480885 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/UserManagersApi.md @@ -0,0 +1,373 @@ +--- +id: user-managers +title: User_managers +pagination_label: user_managers +sidebar_label: user_managers +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'user_managers', 'user_managers'] +slug: /tools/sdk/python//methods/user-managers +tags: ['SDK', 'Software Development Kit', 'user_managers', 'user_managers'] +--- + +# sailpoint.nerm.UserManagersApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-user-manager**](#get-user-manager) | **GET** `/user_managers/{id}` | Find user-manager relationship +[**get-user-managers**](#get-user-managers) | **GET** `/user_managers` | Get user-manager relationships +[**patch-user-manager**](#patch-user-manager) | **PATCH** `/user_managers/{id}` | Update a user-manager relationship +[**patch-user-managers**](#patch-user-managers) | **PATCH** `/user_managers` | Update multiple user-manager relationships +[**submit-user-manager**](#submit-user-manager) | **POST** `/user_manager` | Create a new user-manager relationship +[**submit-user-managers**](#submit-user-managers) | **POST** `/user_managers` | Create multiple new user-manager relationships + + +## get-user-manager +Find user-manager relationship +Info for a specific user-manager relationship + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-manager) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitUserManager200Response**](../models/submit-user-manager200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserManager200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find user-manager relationship + + results = UserManagersApi(api_client).get_user_manager(id=id) + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).get_user_manager(id) + print("The response of UserManagersApi->get_user_manager:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->get_user_manager: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-managers +Get user-manager relationships +This endpoint can retrieve user-manager relationships from Lifecycle or you can search for user-manager relationships using parameters + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-managers) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | user_id | **str** | (optional) | The ID of a user for filtering + Query | manager_id | **str** | (optional) | The ID of a user for filtering + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetUserManagers200Response**](../models/get-user-managers200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetUserManagers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_user_managers200_response import GetUserManagers200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + user_id = 'bba9cfb2-96c1-4acb-ac79-a21732527265' # str | The ID of a user for filtering (optional) # str | The ID of a user for filtering (optional) + manager_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | The ID of a user for filtering (optional) # str | The ID of a user for filtering (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get user-manager relationships + + results = UserManagersApi(api_client).get_user_managers() + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).get_user_managers(limit, offset, order, user_id, manager_id, metadata) + print("The response of UserManagersApi->get_user_managers:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->get_user_managers: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-manager +Update a user-manager relationship +Update a user-manager relationship by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-manager) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_user_manager_request | [**SubmitUserManagerRequest**](../models/submit-user-manager-request) | True | + +### Return type +[**SubmitUserManager200Response**](../models/submit-user-manager200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserManager200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_user_manager_request = '''sailpoint.nerm.SubmitUserManagerRequest()''' # SubmitUserManagerRequest | + + try: + # Update a user-manager relationship + new_submit_user_manager_request = SubmitUserManagerRequest.from_json(submit_user_manager_request) + results = UserManagersApi(api_client).patch_user_manager(id=id, submit_user_manager_request=new_submit_user_manager_request) + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).patch_user_manager(id, new_submit_user_manager_request) + print("The response of UserManagersApi->patch_user_manager:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->patch_user_manager: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-managers +Update multiple user-manager relationships +Update multiple user-manager relationships + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-managers) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_managers_request | [**SubmitUserManagersRequest**](../models/submit-user-managers-request) | True | + +### Return type +[**SubmitUserManagers200Response**](../models/submit-user-managers200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserManagers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_managers_request = '''sailpoint.nerm.SubmitUserManagersRequest()''' # SubmitUserManagersRequest | + + try: + # Update multiple user-manager relationships + new_submit_user_managers_request = SubmitUserManagersRequest.from_json(submit_user_managers_request) + results = UserManagersApi(api_client).patch_user_managers(submit_user_managers_request=new_submit_user_managers_request) + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).patch_user_managers(new_submit_user_managers_request) + print("The response of UserManagersApi->patch_user_managers:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->patch_user_managers: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-manager +Create a new user-manager relationship +Create a new user-manager relationship + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-manager) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_manager_request | [**SubmitUserManagerRequest**](../models/submit-user-manager-request) | True | + +### Return type +[**SubmitUserManager200Response**](../models/submit-user-manager200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserManager200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_manager_request = '''sailpoint.nerm.SubmitUserManagerRequest()''' # SubmitUserManagerRequest | + + try: + # Create a new user-manager relationship + new_submit_user_manager_request = SubmitUserManagerRequest.from_json(submit_user_manager_request) + results = UserManagersApi(api_client).submit_user_manager(submit_user_manager_request=new_submit_user_manager_request) + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).submit_user_manager(new_submit_user_manager_request) + print("The response of UserManagersApi->submit_user_manager:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->submit_user_manager: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-managers +Create multiple new user-manager relationships +Create multiple new user-manager relationships + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-managers) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_managers_request | [**SubmitUserManagersRequest**](../models/submit-user-managers-request) | True | + +### Return type +[**SubmitUserManagers200Response**](../models/submit-user-managers200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserManagers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_managers_api import UserManagersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_managers_request = '''sailpoint.nerm.SubmitUserManagersRequest()''' # SubmitUserManagersRequest | + + try: + # Create multiple new user-manager relationships + new_submit_user_managers_request = SubmitUserManagersRequest.from_json(submit_user_managers_request) + results = UserManagersApi(api_client).submit_user_managers(submit_user_managers_request=new_submit_user_managers_request) + # Below is a request that includes all optional parameters + # results = UserManagersApi(api_client).submit_user_managers(new_submit_user_managers_request) + print("The response of UserManagersApi->submit_user_managers:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserManagersApi->submit_user_managers: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/UserProfilesApi.md b/sailpoint/nerm/docs/Methods/UserProfilesApi.md new file mode 100644 index 000000000..598dc0b69 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/UserProfilesApi.md @@ -0,0 +1,488 @@ +--- +id: user-profiles +title: User_profiles +pagination_label: user_profiles +sidebar_label: user_profiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'user_profiles', 'user_profiles'] +slug: /tools/sdk/python//methods/user-profiles +tags: ['SDK', 'Software Development Kit', 'user_profiles', 'user_profiles'] +--- + +# sailpoint.nerm.UserProfilesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-user-profiles**](#create-user-profiles) | **POST** `/user_profiles` | Create multiple user-profile contributor relationships +[**delete-user-profile**](#delete-user-profile) | **DELETE** `/user_profile/{id}` | Delete a user profile assignment +[**delete-user-profiles**](#delete-user-profiles) | **DELETE** `/user_profiles` | Delete multiple user-profile contributor relationships +[**get-user-profile**](#get-user-profile) | **GET** `/user_profiles/{id}` | Find user-profile contributor relationship +[**get-user-profiles**](#get-user-profiles) | **GET** `/user_profiles` | Get user-profile contributor relationships +[**patch-user-profile**](#patch-user-profile) | **PATCH** `/user_profiles/{id}` | Update a user-profile contributor relationship +[**patch-user-profiles**](#patch-user-profiles) | **PATCH** `/user_profiles` | Update multiple user-profile contributor relationships +[**submit-user-profile**](#submit-user-profile) | **POST** `/user_profile` | Create a user-profile contributor relationship + + +## create-user-profiles +Create multiple user-profile contributor relationships +Create multiple user-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//create-user-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_user_profiles_request | [**CreateUserProfilesRequest**](../models/create-user-profiles-request) | True | + +### Return type +[**CreateUserProfiles200Response**](../models/create-user-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateUserProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_user_profiles_request = '''sailpoint.nerm.CreateUserProfilesRequest()''' # CreateUserProfilesRequest | + + try: + # Create multiple user-profile contributor relationships + new_create_user_profiles_request = CreateUserProfilesRequest.from_json(create_user_profiles_request) + results = UserProfilesApi(api_client).create_user_profiles(create_user_profiles_request=new_create_user_profiles_request) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).create_user_profiles(new_create_user_profiles_request) + print("The response of UserProfilesApi->create_user_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->create_user_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-user-profile +Delete a user profile assignment +Delete a user profile assignment + +[API Spec](https://developer.sailpoint.com/docs/api//delete-user-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +**object** + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | User profile was destroyed | object | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a user profile assignment + + results = UserProfilesApi(api_client).delete_user_profile(id=id) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).delete_user_profile(id) + print("The response of UserProfilesApi->delete_user_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->delete_user_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delete-user-profiles +Delete multiple user-profile contributor relationships +Delete multiple user-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//delete-user-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_user_profiles_request | [**CreateUserProfilesRequest**](../models/create-user-profiles-request) | True | + +### Return type +[**CreateUserProfiles200Response**](../models/create-user-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateUserProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_user_profiles_request = '''sailpoint.nerm.CreateUserProfilesRequest()''' # CreateUserProfilesRequest | + + try: + # Delete multiple user-profile contributor relationships + new_create_user_profiles_request = CreateUserProfilesRequest.from_json(create_user_profiles_request) + results = UserProfilesApi(api_client).delete_user_profiles(create_user_profiles_request=new_create_user_profiles_request) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).delete_user_profiles(new_create_user_profiles_request) + print("The response of UserProfilesApi->delete_user_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->delete_user_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-profile +Find user-profile contributor relationship +Find user-profile contributor relationship by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitUserProfile200Response**](../models/submit-user-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find user-profile contributor relationship + + results = UserProfilesApi(api_client).get_user_profile(id=id) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).get_user_profile(id) + print("The response of UserProfilesApi->get_user_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->get_user_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-profiles +Get user-profile contributor relationships +Get user-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | user_id | **str** | (optional) | The ID of a user for filtering + Query | ne_attribute_id | **str** | (optional) | ID of an attribute for filtering + Query | profile_id | **str** | (optional) | Profile ID to filter by + Query | relationship_type | **str** | (optional) | Type of user contributor relationship to filter by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetUserProfiles200Response**](../models/get-user-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetUserProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_user_profiles200_response import GetUserProfiles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + user_id = 'bba9cfb2-96c1-4acb-ac79-a21732527265' # str | The ID of a user for filtering (optional) # str | The ID of a user for filtering (optional) + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' # str | ID of an attribute for filtering (optional) # str | ID of an attribute for filtering (optional) + profile_id = '4e480441-451d-47d9-87c2-9a0f0fe135eb' # str | Profile ID to filter by (optional) # str | Profile ID to filter by (optional) + relationship_type = 'contributor' # str | Type of user contributor relationship to filter by (optional) # str | Type of user contributor relationship to filter by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get user-profile contributor relationships + + results = UserProfilesApi(api_client).get_user_profiles() + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).get_user_profiles(limit, offset, order, user_id, ne_attribute_id, profile_id, relationship_type, metadata) + print("The response of UserProfilesApi->get_user_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->get_user_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-profile +Update a user-profile contributor relationship +Update a user-profile contributor relationship by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_user_profile_request | [**SubmitUserProfileRequest**](../models/submit-user-profile-request) | True | + +### Return type +[**SubmitUserProfile200Response**](../models/submit-user-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserProfile200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_user_profile_request = '''sailpoint.nerm.SubmitUserProfileRequest()''' # SubmitUserProfileRequest | + + try: + # Update a user-profile contributor relationship + new_submit_user_profile_request = SubmitUserProfileRequest.from_json(submit_user_profile_request) + results = UserProfilesApi(api_client).patch_user_profile(id=id, submit_user_profile_request=new_submit_user_profile_request) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).patch_user_profile(id, new_submit_user_profile_request) + print("The response of UserProfilesApi->patch_user_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->patch_user_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-profiles +Update multiple user-profile contributor relationships +Update multiple user-profile contributor relationships + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-profiles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_user_profiles_request | [**CreateUserProfilesRequest**](../models/create-user-profiles-request) | True | + +### Return type +[**CreateUserProfiles200Response**](../models/create-user-profiles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateUserProfiles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_user_profiles_request = '''sailpoint.nerm.CreateUserProfilesRequest()''' # CreateUserProfilesRequest | + + try: + # Update multiple user-profile contributor relationships + new_create_user_profiles_request = CreateUserProfilesRequest.from_json(create_user_profiles_request) + results = UserProfilesApi(api_client).patch_user_profiles(create_user_profiles_request=new_create_user_profiles_request) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).patch_user_profiles(new_create_user_profiles_request) + print("The response of UserProfilesApi->patch_user_profiles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->patch_user_profiles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-profile +Create a user-profile contributor relationship +Create a user-profile contributor relationship + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-profile) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_profile_request | [**SubmitUserProfileRequest**](../models/submit-user-profile-request) | True | + +### Return type +[**SubmitUserProfile200Response**](../models/submit-user-profile200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserProfile200Response | - | +405 | Invalid input | | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_profile_request = '''sailpoint.nerm.SubmitUserProfileRequest()''' # SubmitUserProfileRequest | + + try: + # Create a user-profile contributor relationship + new_submit_user_profile_request = SubmitUserProfileRequest.from_json(submit_user_profile_request) + results = UserProfilesApi(api_client).submit_user_profile(submit_user_profile_request=new_submit_user_profile_request) + # Below is a request that includes all optional parameters + # results = UserProfilesApi(api_client).submit_user_profile(new_submit_user_profile_request) + print("The response of UserProfilesApi->submit_user_profile:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserProfilesApi->submit_user_profile: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/UserRolesApi.md b/sailpoint/nerm/docs/Methods/UserRolesApi.md new file mode 100644 index 000000000..39c41a121 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/UserRolesApi.md @@ -0,0 +1,428 @@ +--- +id: user-roles +title: User_roles +pagination_label: user_roles +sidebar_label: user_roles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'user_roles', 'user_roles'] +slug: /tools/sdk/python//methods/user-roles +tags: ['SDK', 'Software Development Kit', 'user_roles', 'user_roles'] +--- + +# sailpoint.nerm.UserRolesApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-user-role**](#delete-user-role) | **DELETE** `/user_role/{id}` | Delete a user role assignment +[**get-user-role**](#get-user-role) | **GET** `/user_roles/{id}` | Find user role pairing +[**get-user-roles**](#get-user-roles) | **GET** `/user_roles` | Get user role pairings +[**patch-user-role**](#patch-user-role) | **PATCH** `/user_roles/{id}` | Update a user role pairing +[**patch-user-roles**](#patch-user-roles) | **PATCH** `/user_roles` | Update multiple user role pairings +[**submit-user-role**](#submit-user-role) | **POST** `/user_role` | Assign new role to user +[**submit-user-roles**](#submit-user-roles) | **POST** `/user_roles` | Create new user role pairings + + +## delete-user-role +Delete a user role assignment +Delete a user role assignment + +[API Spec](https://developer.sailpoint.com/docs/api//delete-user-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +**object** + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | User role was destroyed | object | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a user role assignment + + results = UserRolesApi(api_client).delete_user_role(id=id) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).delete_user_role(id) + print("The response of UserRolesApi->delete_user_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->delete_user_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-role +Find user role pairing +Info for a specific user role pairing + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitUserRole200Response**](../models/submit-user-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find user role pairing + + results = UserRolesApi(api_client).get_user_role(id=id) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).get_user_role(id) + print("The response of UserRolesApi->get_user_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->get_user_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-roles +Get user role pairings +This endpoint can retrieve user role pairings from Lifecycle or you can search for user role pairings using parameters + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | user_id | **str** | (optional) | The ID of a user for filtering + Query | role_id | **str** | (optional) | The ID of a role for filtering + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetUserRoles200Response**](../models/get-user-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetUserRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_user_roles200_response import GetUserRoles200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + user_id = 'bba9cfb2-96c1-4acb-ac79-a21732527265' # str | The ID of a user for filtering (optional) # str | The ID of a user for filtering (optional) + role_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | The ID of a role for filtering (optional) # str | The ID of a role for filtering (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get user role pairings + + results = UserRolesApi(api_client).get_user_roles() + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).get_user_roles(limit, offset, order, user_id, role_id, metadata) + print("The response of UserRolesApi->get_user_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->get_user_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-role +Update a user role pairing +Update a user role pairing by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_user_role_request | [**SubmitUserRoleRequest**](../models/submit-user-role-request) | True | + +### Return type +[**SubmitUserRole200Response**](../models/submit-user-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_user_role_request = '''sailpoint.nerm.SubmitUserRoleRequest()''' # SubmitUserRoleRequest | + + try: + # Update a user role pairing + new_submit_user_role_request = SubmitUserRoleRequest.from_json(submit_user_role_request) + results = UserRolesApi(api_client).patch_user_role(id=id, submit_user_role_request=new_submit_user_role_request) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).patch_user_role(id, new_submit_user_role_request) + print("The response of UserRolesApi->patch_user_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->patch_user_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user-roles +Update multiple user role pairings +Update multiple user role pairings + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_roles_request | [**SubmitUserRolesRequest**](../models/submit-user-roles-request) | True | + +### Return type +[**SubmitUserRoles200Response**](../models/submit-user-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_roles_request = '''sailpoint.nerm.SubmitUserRolesRequest()''' # SubmitUserRolesRequest | + + try: + # Update multiple user role pairings + new_submit_user_roles_request = SubmitUserRolesRequest.from_json(submit_user_roles_request) + results = UserRolesApi(api_client).patch_user_roles(submit_user_roles_request=new_submit_user_roles_request) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).patch_user_roles(new_submit_user_roles_request) + print("The response of UserRolesApi->patch_user_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->patch_user_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-role +Assign new role to user +Assign a new role to a user + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-role) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_role_request | [**SubmitUserRoleRequest**](../models/submit-user-role-request) | True | + +### Return type +[**SubmitUserRole200Response**](../models/submit-user-role200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserRole200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_role_request = '''sailpoint.nerm.SubmitUserRoleRequest()''' # SubmitUserRoleRequest | + + try: + # Assign new role to user + new_submit_user_role_request = SubmitUserRoleRequest.from_json(submit_user_role_request) + results = UserRolesApi(api_client).submit_user_role(submit_user_role_request=new_submit_user_role_request) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).submit_user_role(new_submit_user_role_request) + print("The response of UserRolesApi->submit_user_role:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->submit_user_role: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-roles +Create new user role pairings +Create multiple new user role pairings + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-roles) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_roles_request | [**SubmitUserRolesRequest**](../models/submit-user-roles-request) | True | + +### Return type +[**SubmitUserRoles200Response**](../models/submit-user-roles200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUserRoles200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.user_roles_api import UserRolesApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_roles_request = '''sailpoint.nerm.SubmitUserRolesRequest()''' # SubmitUserRolesRequest | + + try: + # Create new user role pairings + new_submit_user_roles_request = SubmitUserRolesRequest.from_json(submit_user_roles_request) + results = UserRolesApi(api_client).submit_user_roles(submit_user_roles_request=new_submit_user_roles_request) + # Below is a request that includes all optional parameters + # results = UserRolesApi(api_client).submit_user_roles(new_submit_user_roles_request) + print("The response of UserRolesApi->submit_user_roles:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UserRolesApi->submit_user_roles: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/UsersApi.md b/sailpoint/nerm/docs/Methods/UsersApi.md new file mode 100644 index 000000000..c8b502190 --- /dev/null +++ b/sailpoint/nerm/docs/Methods/UsersApi.md @@ -0,0 +1,553 @@ +--- +id: users +title: Users +pagination_label: users +sidebar_label: users +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'users', 'users'] +slug: /tools/sdk/python//methods/users +tags: ['SDK', 'Software Development Kit', 'users', 'users'] +--- + +# sailpoint.nerm.UsersApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete-user**](#delete-user) | **DELETE** `/users/{id}` | Delete a user +[**get-user**](#get-user) | **GET** `/users/{id}` | Find user by id +[**get-user-avatar**](#get-user-avatar) | **GET** `/users/{id}/avatar` | Retrieves URL user avatar +[**get-users**](#get-users) | **GET** `/users` | Get users +[**patch-user**](#patch-user) | **PATCH** `/users/{id}` | Update a user by id +[**patch-users**](#patch-users) | **PATCH** `/users` | Update multiple users +[**submit-user**](#submit-user) | **POST** `/user` | Create a new user +[**submit-user-avatar**](#submit-user-avatar) | **POST** `/users/{id}/avatar` | Uploads new user avatar +[**submit-users**](#submit-users) | **POST** `/users` | Create multiple new users + + +## delete-user +Delete a user +Delete a user + +[API Spec](https://developer.sailpoint.com/docs/api//delete-user) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**DeleteProfileTypeById200Response**](../models/delete-profile-type-by-id200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Info about the operation | DeleteProfileTypeById200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a user + + results = UsersApi(api_client).delete_user(id=id) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).delete_user(id) + print("The response of UsersApi->delete_user:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->delete_user: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user +Find user by id +Info for a specific user + +[API Spec](https://developer.sailpoint.com/docs/api//get-user) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitUser200Response**](../models/submit-user200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUser200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find user by id + + results = UsersApi(api_client).get_user(id=id) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).get_user(id) + print("The response of UsersApi->get_user:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->get_user: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-user-avatar +Retrieves URL user avatar +Retrieves the URL of the user avatar + +[API Spec](https://developer.sailpoint.com/docs/api//get-user-avatar) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Retrieves URL user avatar + + results = UsersApi(api_client).get_user_avatar(id=id) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).get_user_avatar(id) + print("The response of UsersApi->get_user_avatar:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->get_user_avatar: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-users +Get users +This endpoint can retrieve users from Lifecycle or you can search for users using parameters + +[API Spec](https://developer.sailpoint.com/docs/api//get-users) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | name | **str** | (optional) | object name for filtering + Query | login | **str** | (optional) | The user login to search by + Query | title | **str** | (optional) | The user title to search by + Query | user_status | **str** | (optional) | user status value for filtering + Query | type | **str** | (optional) | user type + Query | email | **str** | (optional) | The user email to search by + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + Query | sailpoint_identity_id | **str** | (optional) | SailPoint identity ID + +### Return type +[**GetUsers200Response**](../models/get-users200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetUsers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_users200_response import GetUsers200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + name = 'name' # str | object name for filtering (optional) # str | object name for filtering (optional) + login = 'jane.doe' # str | The user login to search by (optional) # str | The user login to search by (optional) + title = 'Marketing Director' # str | The user title to search by (optional) # str | The user title to search by (optional) + user_status = 'Active' # str | user status value for filtering (optional) # str | user status value for filtering (optional) + type = 'NeprofileUser' # str | user type (optional) # str | user type (optional) + email = 'support@sailpoint.com' # str | The user email to search by (optional) # str | The user email to search by (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a' # str | SailPoint identity ID (optional) # str | SailPoint identity ID (optional) + + try: + # Get users + + results = UsersApi(api_client).get_users() + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).get_users(limit, offset, order, name, login, title, user_status, type, email, metadata, sailpoint_identity_id) + print("The response of UsersApi->get_users:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->get_users: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-user +Update a user by id +Update a user by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-user) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_user_request | [**SubmitUserRequest**](../models/submit-user-request) | True | + +### Return type +[**SubmitUser200Response**](../models/submit-user200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUser200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_user_request = '''sailpoint.nerm.SubmitUserRequest()''' # SubmitUserRequest | + + try: + # Update a user by id + new_submit_user_request = SubmitUserRequest.from_json(submit_user_request) + results = UsersApi(api_client).patch_user(id=id, submit_user_request=new_submit_user_request) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).patch_user(id, new_submit_user_request) + print("The response of UsersApi->patch_user:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->patch_user: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-users +Update multiple users +Update multiple users + +[API Spec](https://developer.sailpoint.com/docs/api//patch-users) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_users_request | [**SubmitUsersRequest**](../models/submit-users-request) | True | + +### Return type +[**SubmitUsers200Response**](../models/submit-users200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUsers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_users_request = '''sailpoint.nerm.SubmitUsersRequest()''' # SubmitUsersRequest | + + try: + # Update multiple users + new_submit_users_request = SubmitUsersRequest.from_json(submit_users_request) + results = UsersApi(api_client).patch_users(submit_users_request=new_submit_users_request) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).patch_users(new_submit_users_request) + print("The response of UsersApi->patch_users:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->patch_users: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user +Create a new user +Create a new user + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_user_request | [**SubmitUserRequest**](../models/submit-user-request) | True | + +### Return type +[**SubmitUser200Response**](../models/submit-user200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUser200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_user_request = '''sailpoint.nerm.SubmitUserRequest()''' # SubmitUserRequest | + + try: + # Create a new user + new_submit_user_request = SubmitUserRequest.from_json(submit_user_request) + results = UsersApi(api_client).submit_user(submit_user_request=new_submit_user_request) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).submit_user(new_submit_user_request) + print("The response of UsersApi->submit_user:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->submit_user: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-user-avatar +Uploads new user avatar +Uploads a new user avatar + +[API Spec](https://developer.sailpoint.com/docs/api//submit-user-avatar) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + | file | **bytearray** | (optional) | + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + file = None # bytearray | (optional) # bytearray | (optional) + + try: + # Uploads new user avatar + + results = UsersApi(api_client).submit_user_avatar(id=id) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).submit_user_avatar(id, file) + print("The response of UsersApi->submit_user_avatar:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->submit_user_avatar: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-users +Create multiple new users +Create multiple new users + +[API Spec](https://developer.sailpoint.com/docs/api//submit-users) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_users_request | [**SubmitUsersRequest**](../models/submit-users-request) | True | + +### Return type +[**SubmitUsers200Response**](../models/submit-users200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitUsers200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.users_api import UsersApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_users_request = '''sailpoint.nerm.SubmitUsersRequest()''' # SubmitUsersRequest | + + try: + # Create multiple new users + new_submit_users_request = SubmitUsersRequest.from_json(submit_users_request) + results = UsersApi(api_client).submit_users(submit_users_request=new_submit_users_request) + # Below is a request that includes all optional parameters + # results = UsersApi(api_client).submit_users(new_submit_users_request) + print("The response of UsersApi->submit_users:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling UsersApi->submit_users: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/WorkflowActionPerformerApi.md b/sailpoint/nerm/docs/Methods/WorkflowActionPerformerApi.md new file mode 100644 index 000000000..33c0b1c9d --- /dev/null +++ b/sailpoint/nerm/docs/Methods/WorkflowActionPerformerApi.md @@ -0,0 +1,78 @@ +--- +id: workflow-action-performer +title: Workflow_action_performer +pagination_label: workflow_action_performer +sidebar_label: workflow_action_performer +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'workflow_action_performer', 'workflow_action_performer'] +slug: /tools/sdk/python//methods/workflow-action-performer +tags: ['SDK', 'Software Development Kit', 'workflow_action_performer', 'workflow_action_performer'] +--- + +# sailpoint.nerm.WorkflowActionPerformerApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-workflow-action-performer**](#create-workflow-action-performer) | **POST** `/workflow_action_performers` | Create a workflow action performer + + +## create-workflow-action-performer +Create a workflow action performer +Create a workflow action performer for an existing workflow action + +[API Spec](https://developer.sailpoint.com/docs/api//create-workflow-action-performer) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_workflow_action_performer_request | [**CreateWorkflowActionPerformerRequest**](../models/create-workflow-action-performer-request) | True | + +### Return type +[**CreateWorkflowActionPerformer200Response**](../models/create-workflow-action-performer200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateWorkflowActionPerformer200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_action_performer_api import WorkflowActionPerformerApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_workflow_action_performer200_response import CreateWorkflowActionPerformer200Response +from sailpoint.nerm.models.create_workflow_action_performer_request import CreateWorkflowActionPerformerRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_workflow_action_performer_request = '''sailpoint.nerm.CreateWorkflowActionPerformerRequest()''' # CreateWorkflowActionPerformerRequest | + + try: + # Create a workflow action performer + new_create_workflow_action_performer_request = CreateWorkflowActionPerformerRequest.from_json(create_workflow_action_performer_request) + results = WorkflowActionPerformerApi(api_client).create_workflow_action_performer(create_workflow_action_performer_request=new_create_workflow_action_performer_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionPerformerApi(api_client).create_workflow_action_performer(new_create_workflow_action_performer_request) + print("The response of WorkflowActionPerformerApi->create_workflow_action_performer:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionPerformerApi->create_workflow_action_performer: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/WorkflowActionsApi.md b/sailpoint/nerm/docs/Methods/WorkflowActionsApi.md new file mode 100644 index 000000000..fdd73483f --- /dev/null +++ b/sailpoint/nerm/docs/Methods/WorkflowActionsApi.md @@ -0,0 +1,1673 @@ +--- +id: workflow-actions +title: Workflow_actions +pagination_label: workflow_actions +sidebar_label: workflow_actions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'workflow_actions', 'workflow_actions'] +slug: /tools/sdk/python//methods/workflow-actions +tags: ['SDK', 'Software Development Kit', 'workflow_actions', 'workflow_actions'] +--- + +# sailpoint.nerm.WorkflowActionsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-approval-action**](#create-approval-action) | **POST** `/workflow_actions/approval_actions` | Create an approval action +[**create-ask-security-question-action**](#create-ask-security-question-action) | **POST** `/workflow_actions/ask_security_question_actions` | Create ask security question action +[**create-auto-assign-action**](#create-auto-assign-action) | **POST** `/workflow_actions/auto_assign_actions` | Create an auto assign action +[**create-batch-update-action**](#create-batch-update-action) | **POST** `/workflow_actions/batch_update_actions` | Create a batch update action +[**create-close-session-action**](#create-close-session-action) | **POST** `/workflow_actions/close_session_actions` | Create a close session action +[**create-contributors-action**](#create-contributors-action) | **POST** `/workflow_actions/contributors_actions` | Create a contributors action +[**create-create-profile-action**](#create-create-profile-action) | **POST** `/workflow_actions/create_profile_actions` | Create a create profile action +[**create-duplicate-prevention-action**](#create-duplicate-prevention-action) | **POST** `/workflow_actions/duplicate_prevention_actions` | Create a duplicate prevention action +[**create-email-verification-action**](#create-email-verification-action) | **POST** `/workflow_actions/email_verification_actions` | Create an email verification action +[**create-fulfillment-action**](#create-fulfillment-action) | **POST** `/workflow_actions/fulfillment_actions` | Create a fulfillment action +[**create-identity-proofing-action**](#create-identity-proofing-action) | **POST** `/workflow_actions/identity_proofing_actions` | Create an identity proofing action +[**create-invitation-action**](#create-invitation-action) | **POST** `/workflow_actions/invitation_actions` | Create an invitation action +[**create-ldap-action**](#create-ldap-action) | **POST** `/workflow_actions/ldap_actions` | Create a ldap action +[**create-notification-action**](#create-notification-action) | **POST** `/workflow_actions/notification_actions` | Create a notification action +[**create-password-reset-action**](#create-password-reset-action) | **POST** `/workflow_actions/password_reset_actions` | Create a password reset action +[**create-profile-check-action**](#create-profile-check-action) | **POST** `/workflow_actions/profile_check_actions` | Create a profile check action +[**create-profile-select-action**](#create-profile-select-action) | **POST** `/workflow_actions/profile_select_actions` | Create a profile select action +[**create-request-action**](#create-request-action) | **POST** `/workflow_actions/request_actions` | Create a request action +[**create-rest-api-action**](#create-rest-api-action) | **POST** `/workflow_actions/rest_api_actions` | Create a REST API action +[**create-review-action**](#create-review-action) | **POST** `/workflow_actions/review_actions` | Create a review action +[**create-run-workflow-action**](#create-run-workflow-action) | **POST** `/workflow_actions/run_workflow_actions` | Create a run workflow action +[**create-set-attributes-action**](#create-set-attributes-action) | **POST** `/workflow_actions/set_attributes_actions` | Create a set attributes action +[**create-set-security-question-action**](#create-set-security-question-action) | **POST** `/workflow_actions/set_security_question_actions` | Create set security question action +[**create-soap-api-action**](#create-soap-api-action) | **POST** `/workflow_actions/soap_api_actions` | Create a SOAP API action +[**create-status-change-action**](#create-status-change-action) | **POST** `/workflow_actions/status_change_actions` | Create a status change action +[**create-unassign-action**](#create-unassign-action) | **POST** `/workflow_actions/unassign_actions` | Create an unassign action +[**create-update-profile-action**](#create-update-profile-action) | **POST** `/workflow_actions/update_profile_actions` | Create an update profile action +[**create-username-password-action**](#create-username-password-action) | **POST** `/workflow_actions/username_password_actions` | Create a username password action +[**get-workflow-actions**](#get-workflow-actions) | **GET** `/workflow_actions` | Get Workflow Actions + + +## create-approval-action +Create an approval action +Create an approval action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email, workflow_action_approval_email, workflow_action_rejection_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-approval-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_approval_action_request | [**CreateApprovalActionRequest**](../models/create-approval-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_approval_action_request import CreateApprovalActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_approval_action_request = '''sailpoint.nerm.CreateApprovalActionRequest()''' # CreateApprovalActionRequest | + + try: + # Create an approval action + new_create_approval_action_request = CreateApprovalActionRequest.from_json(create_approval_action_request) + results = WorkflowActionsApi(api_client).create_approval_action(create_approval_action_request=new_create_approval_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_approval_action(new_create_approval_action_request) + print("The response of WorkflowActionsApi->create_approval_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_approval_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-ask-security-question-action +Create ask security question action +Create an ask security question action + +[API Spec](https://developer.sailpoint.com/docs/api//create-ask-security-question-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_ask_security_question_action_request | [**CreateAskSecurityQuestionActionRequest**](../models/create-ask-security-question-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_ask_security_question_action_request import CreateAskSecurityQuestionActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_ask_security_question_action_request = '''sailpoint.nerm.CreateAskSecurityQuestionActionRequest()''' # CreateAskSecurityQuestionActionRequest | + + try: + # Create ask security question action + new_create_ask_security_question_action_request = CreateAskSecurityQuestionActionRequest.from_json(create_ask_security_question_action_request) + results = WorkflowActionsApi(api_client).create_ask_security_question_action(create_ask_security_question_action_request=new_create_ask_security_question_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_ask_security_question_action(new_create_ask_security_question_action_request) + print("The response of WorkflowActionsApi->create_ask_security_question_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_ask_security_question_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-auto-assign-action +Create an auto assign action +Create an auto assign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-auto-assign-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_auto_assign_action_request | [**CreateAutoAssignActionRequest**](../models/create-auto-assign-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_auto_assign_action_request import CreateAutoAssignActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_auto_assign_action_request = '''sailpoint.nerm.CreateAutoAssignActionRequest()''' # CreateAutoAssignActionRequest | + + try: + # Create an auto assign action + new_create_auto_assign_action_request = CreateAutoAssignActionRequest.from_json(create_auto_assign_action_request) + results = WorkflowActionsApi(api_client).create_auto_assign_action(create_auto_assign_action_request=new_create_auto_assign_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_auto_assign_action(new_create_auto_assign_action_request) + print("The response of WorkflowActionsApi->create_auto_assign_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_auto_assign_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-batch-update-action +Create a batch update action +Create a batch update action + +[API Spec](https://developer.sailpoint.com/docs/api//create-batch-update-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_batch_update_action_request | [**CreateBatchUpdateActionRequest**](../models/create-batch-update-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_batch_update_action_request import CreateBatchUpdateActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_batch_update_action_request = '''sailpoint.nerm.CreateBatchUpdateActionRequest()''' # CreateBatchUpdateActionRequest | + + try: + # Create a batch update action + new_create_batch_update_action_request = CreateBatchUpdateActionRequest.from_json(create_batch_update_action_request) + results = WorkflowActionsApi(api_client).create_batch_update_action(create_batch_update_action_request=new_create_batch_update_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_batch_update_action(new_create_batch_update_action_request) + print("The response of WorkflowActionsApi->create_batch_update_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_batch_update_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-close-session-action +Create a close session action +Create a close session action + +[API Spec](https://developer.sailpoint.com/docs/api//create-close-session-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_close_session_action_request | [**CreateCloseSessionActionRequest**](../models/create-close-session-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_close_session_action_request import CreateCloseSessionActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_close_session_action_request = '''sailpoint.nerm.CreateCloseSessionActionRequest()''' # CreateCloseSessionActionRequest | + + try: + # Create a close session action + new_create_close_session_action_request = CreateCloseSessionActionRequest.from_json(create_close_session_action_request) + results = WorkflowActionsApi(api_client).create_close_session_action(create_close_session_action_request=new_create_close_session_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_close_session_action(new_create_close_session_action_request) + print("The response of WorkflowActionsApi->create_close_session_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_close_session_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-contributors-action +Create a contributors action +Create a contributors action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-contributors-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_contributors_action_request | [**CreateContributorsActionRequest**](../models/create-contributors-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_contributors_action_request import CreateContributorsActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_contributors_action_request = '''sailpoint.nerm.CreateContributorsActionRequest()''' # CreateContributorsActionRequest | + + try: + # Create a contributors action + new_create_contributors_action_request = CreateContributorsActionRequest.from_json(create_contributors_action_request) + results = WorkflowActionsApi(api_client).create_contributors_action(create_contributors_action_request=new_create_contributors_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_contributors_action(new_create_contributors_action_request) + print("The response of WorkflowActionsApi->create_contributors_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_contributors_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-create-profile-action +Create a create profile action +Create a create profile action + +[API Spec](https://developer.sailpoint.com/docs/api//create-create-profile-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_create_profile_action_request | [**CreateCreateProfileActionRequest**](../models/create-create-profile-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_create_profile_action_request import CreateCreateProfileActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_create_profile_action_request = '''sailpoint.nerm.CreateCreateProfileActionRequest()''' # CreateCreateProfileActionRequest | + + try: + # Create a create profile action + new_create_create_profile_action_request = CreateCreateProfileActionRequest.from_json(create_create_profile_action_request) + results = WorkflowActionsApi(api_client).create_create_profile_action(create_create_profile_action_request=new_create_create_profile_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_create_profile_action(new_create_create_profile_action_request) + print("The response of WorkflowActionsApi->create_create_profile_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_create_profile_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-duplicate-prevention-action +Create a duplicate prevention action +Create a duplicate prevention action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - duplicatation_prevention_attributes, workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-duplicate-prevention-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_duplicate_prevention_action_request | [**CreateDuplicatePreventionActionRequest**](../models/create-duplicate-prevention-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_duplicate_prevention_action_request import CreateDuplicatePreventionActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_duplicate_prevention_action_request = '''sailpoint.nerm.CreateDuplicatePreventionActionRequest()''' # CreateDuplicatePreventionActionRequest | + + try: + # Create a duplicate prevention action + new_create_duplicate_prevention_action_request = CreateDuplicatePreventionActionRequest.from_json(create_duplicate_prevention_action_request) + results = WorkflowActionsApi(api_client).create_duplicate_prevention_action(create_duplicate_prevention_action_request=new_create_duplicate_prevention_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_duplicate_prevention_action(new_create_duplicate_prevention_action_request) + print("The response of WorkflowActionsApi->create_duplicate_prevention_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_duplicate_prevention_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-email-verification-action +Create an email verification action +Create an email verification action + +[API Spec](https://developer.sailpoint.com/docs/api//create-email-verification-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_email_verification_action_request | [**CreateEmailVerificationActionRequest**](../models/create-email-verification-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_email_verification_action_request import CreateEmailVerificationActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_email_verification_action_request = '''sailpoint.nerm.CreateEmailVerificationActionRequest()''' # CreateEmailVerificationActionRequest | + + try: + # Create an email verification action + new_create_email_verification_action_request = CreateEmailVerificationActionRequest.from_json(create_email_verification_action_request) + results = WorkflowActionsApi(api_client).create_email_verification_action(create_email_verification_action_request=new_create_email_verification_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_email_verification_action(new_create_email_verification_action_request) + print("The response of WorkflowActionsApi->create_email_verification_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_email_verification_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-fulfillment-action +Create a fulfillment action +Create a fulfillment action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles, workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-fulfillment-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_fulfillment_action_request | [**CreateFulfillmentActionRequest**](../models/create-fulfillment-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_fulfillment_action_request import CreateFulfillmentActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_fulfillment_action_request = '''sailpoint.nerm.CreateFulfillmentActionRequest()''' # CreateFulfillmentActionRequest | + + try: + # Create a fulfillment action + new_create_fulfillment_action_request = CreateFulfillmentActionRequest.from_json(create_fulfillment_action_request) + results = WorkflowActionsApi(api_client).create_fulfillment_action(create_fulfillment_action_request=new_create_fulfillment_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_fulfillment_action(new_create_fulfillment_action_request) + print("The response of WorkflowActionsApi->create_fulfillment_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_fulfillment_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-identity-proofing-action +Create an identity proofing action +Create an identity proofing action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - identity_proofing_action_configuration, identity_proofing_action_mappings. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-identity-proofing-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_identity_proofing_action_request | [**CreateIdentityProofingActionRequest**](../models/create-identity-proofing-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_identity_proofing_action_request import CreateIdentityProofingActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_identity_proofing_action_request = '''sailpoint.nerm.CreateIdentityProofingActionRequest()''' # CreateIdentityProofingActionRequest | + + try: + # Create an identity proofing action + new_create_identity_proofing_action_request = CreateIdentityProofingActionRequest.from_json(create_identity_proofing_action_request) + results = WorkflowActionsApi(api_client).create_identity_proofing_action(create_identity_proofing_action_request=new_create_identity_proofing_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_identity_proofing_action(new_create_identity_proofing_action_request) + print("The response of WorkflowActionsApi->create_identity_proofing_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_identity_proofing_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-invitation-action +Create an invitation action +Create an invitation action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_pause_action. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-invitation-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_invitation_action_request | [**CreateInvitationActionRequest**](../models/create-invitation-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_invitation_action_request import CreateInvitationActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_invitation_action_request = '''sailpoint.nerm.CreateInvitationActionRequest()''' # CreateInvitationActionRequest | + + try: + # Create an invitation action + new_create_invitation_action_request = CreateInvitationActionRequest.from_json(create_invitation_action_request) + results = WorkflowActionsApi(api_client).create_invitation_action(create_invitation_action_request=new_create_invitation_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_invitation_action(new_create_invitation_action_request) + print("The response of WorkflowActionsApi->create_invitation_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_invitation_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-ldap-action +Create a ldap action +Create a ldap action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performers, workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-ldap-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_ldap_action_request | [**CreateLdapActionRequest**](../models/create-ldap-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_ldap_action_request import CreateLdapActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_ldap_action_request = '''sailpoint.nerm.CreateLdapActionRequest()''' # CreateLdapActionRequest | + + try: + # Create a ldap action + new_create_ldap_action_request = CreateLdapActionRequest.from_json(create_ldap_action_request) + results = WorkflowActionsApi(api_client).create_ldap_action(create_ldap_action_request=new_create_ldap_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_ldap_action(new_create_ldap_action_request) + print("The response of WorkflowActionsApi->create_ldap_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_ldap_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-notification-action +Create a notification action +Create a notification action + +[API Spec](https://developer.sailpoint.com/docs/api//create-notification-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_notification_action_request | [**CreateNotificationActionRequest**](../models/create-notification-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_notification_action_request import CreateNotificationActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_notification_action_request = '''sailpoint.nerm.CreateNotificationActionRequest()''' # CreateNotificationActionRequest | + + try: + # Create a notification action + new_create_notification_action_request = CreateNotificationActionRequest.from_json(create_notification_action_request) + results = WorkflowActionsApi(api_client).create_notification_action(create_notification_action_request=new_create_notification_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_notification_action(new_create_notification_action_request) + print("The response of WorkflowActionsApi->create_notification_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_notification_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-password-reset-action +Create a password reset action +Create a password reset action + +[API Spec](https://developer.sailpoint.com/docs/api//create-password-reset-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_password_reset_action_request | [**CreatePasswordResetActionRequest**](../models/create-password-reset-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_password_reset_action_request import CreatePasswordResetActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_password_reset_action_request = '''sailpoint.nerm.CreatePasswordResetActionRequest()''' # CreatePasswordResetActionRequest | + + try: + # Create a password reset action + new_create_password_reset_action_request = CreatePasswordResetActionRequest.from_json(create_password_reset_action_request) + results = WorkflowActionsApi(api_client).create_password_reset_action(create_password_reset_action_request=new_create_password_reset_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_password_reset_action(new_create_password_reset_action_request) + print("The response of WorkflowActionsApi->create_password_reset_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_password_reset_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-profile-check-action +Create a profile check action +Create a profile check action + +[API Spec](https://developer.sailpoint.com/docs/api//create-profile-check-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profile_check_action_request | [**CreateProfileCheckActionRequest**](../models/create-profile-check-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_profile_check_action_request import CreateProfileCheckActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profile_check_action_request = '''sailpoint.nerm.CreateProfileCheckActionRequest()''' # CreateProfileCheckActionRequest | + + try: + # Create a profile check action + new_create_profile_check_action_request = CreateProfileCheckActionRequest.from_json(create_profile_check_action_request) + results = WorkflowActionsApi(api_client).create_profile_check_action(create_profile_check_action_request=new_create_profile_check_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_profile_check_action(new_create_profile_check_action_request) + print("The response of WorkflowActionsApi->create_profile_check_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_profile_check_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-profile-select-action +Create a profile select action +Create a profile select action + +[API Spec](https://developer.sailpoint.com/docs/api//create-profile-select-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_profile_select_action_request | [**CreateProfileSelectActionRequest**](../models/create-profile-select-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_profile_select_action_request import CreateProfileSelectActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_profile_select_action_request = '''sailpoint.nerm.CreateProfileSelectActionRequest()''' # CreateProfileSelectActionRequest | + + try: + # Create a profile select action + new_create_profile_select_action_request = CreateProfileSelectActionRequest.from_json(create_profile_select_action_request) + results = WorkflowActionsApi(api_client).create_profile_select_action(create_profile_select_action_request=new_create_profile_select_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_profile_select_action(new_create_profile_select_action_request) + print("The response of WorkflowActionsApi->create_profile_select_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_profile_select_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-request-action +Create a request action +Create a request action + +[API Spec](https://developer.sailpoint.com/docs/api//create-request-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_request_action_request | [**CreateRequestActionRequest**](../models/create-request-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_request_action_request import CreateRequestActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_request_action_request = '''sailpoint.nerm.CreateRequestActionRequest()''' # CreateRequestActionRequest | + + try: + # Create a request action + new_create_request_action_request = CreateRequestActionRequest.from_json(create_request_action_request) + results = WorkflowActionsApi(api_client).create_request_action(create_request_action_request=new_create_request_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_request_action(new_create_request_action_request) + print("The response of WorkflowActionsApi->create_request_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_request_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-rest-api-action +Create a REST API action +Create a REST API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - rest_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-rest-api-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_rest_api_action_request | [**CreateRestApiActionRequest**](../models/create-rest-api-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_rest_api_action_request import CreateRestApiActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_rest_api_action_request = '''sailpoint.nerm.CreateRestApiActionRequest()''' # CreateRestApiActionRequest | + + try: + # Create a REST API action + new_create_rest_api_action_request = CreateRestApiActionRequest.from_json(create_rest_api_action_request) + results = WorkflowActionsApi(api_client).create_rest_api_action(create_rest_api_action_request=new_create_rest_api_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_rest_api_action(new_create_rest_api_action_request) + print("The response of WorkflowActionsApi->create_rest_api_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_rest_api_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-review-action +Create a review action +Create a review action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_performer_notification_email. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-review-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_review_action_request | [**CreateReviewActionRequest**](../models/create-review-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_review_action_request import CreateReviewActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_review_action_request = '''sailpoint.nerm.CreateReviewActionRequest()''' # CreateReviewActionRequest | + + try: + # Create a review action + new_create_review_action_request = CreateReviewActionRequest.from_json(create_review_action_request) + results = WorkflowActionsApi(api_client).create_review_action(create_review_action_request=new_create_review_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_review_action(new_create_review_action_request) + print("The response of WorkflowActionsApi->create_review_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_review_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-run-workflow-action +Create a run workflow action +Create a run workflow action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - configuration_profile_attribute. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-run-workflow-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_run_workflow_action_request | [**CreateRunWorkflowActionRequest**](../models/create-run-workflow-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_run_workflow_action_request import CreateRunWorkflowActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_run_workflow_action_request = '''sailpoint.nerm.CreateRunWorkflowActionRequest()''' # CreateRunWorkflowActionRequest | + + try: + # Create a run workflow action + new_create_run_workflow_action_request = CreateRunWorkflowActionRequest.from_json(create_run_workflow_action_request) + results = WorkflowActionsApi(api_client).create_run_workflow_action(create_run_workflow_action_request=new_create_run_workflow_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_run_workflow_action(new_create_run_workflow_action_request) + print("The response of WorkflowActionsApi->create_run_workflow_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_run_workflow_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-set-attributes-action +Create a set attributes action +Create a set attributes action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_set_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-set-attributes-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_set_attributes_action_request | [**CreateSetAttributesActionRequest**](../models/create-set-attributes-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_set_attributes_action_request import CreateSetAttributesActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_set_attributes_action_request = '''sailpoint.nerm.CreateSetAttributesActionRequest()''' # CreateSetAttributesActionRequest | + + try: + # Create a set attributes action + new_create_set_attributes_action_request = CreateSetAttributesActionRequest.from_json(create_set_attributes_action_request) + results = WorkflowActionsApi(api_client).create_set_attributes_action(create_set_attributes_action_request=new_create_set_attributes_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_set_attributes_action(new_create_set_attributes_action_request) + print("The response of WorkflowActionsApi->create_set_attributes_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_set_attributes_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-set-security-question-action +Create set security question action +Create a set security question action + +[API Spec](https://developer.sailpoint.com/docs/api//create-set-security-question-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_set_security_question_action_request | [**CreateSetSecurityQuestionActionRequest**](../models/create-set-security-question-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_set_security_question_action_request import CreateSetSecurityQuestionActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_set_security_question_action_request = '''sailpoint.nerm.CreateSetSecurityQuestionActionRequest()''' # CreateSetSecurityQuestionActionRequest | + + try: + # Create set security question action + new_create_set_security_question_action_request = CreateSetSecurityQuestionActionRequest.from_json(create_set_security_question_action_request) + results = WorkflowActionsApi(api_client).create_set_security_question_action(create_set_security_question_action_request=new_create_set_security_question_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_set_security_question_action(new_create_set_security_question_action_request) + print("The response of WorkflowActionsApi->create_set_security_question_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_set_security_question_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-soap-api-action +Create a SOAP API action +Create a SOAP API action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - soap_api_action_configuration, api_configuration_attributes. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-soap-api-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_soap_api_action_request | [**CreateSoapApiActionRequest**](../models/create-soap-api-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_soap_api_action_request import CreateSoapApiActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_soap_api_action_request = '''sailpoint.nerm.CreateSoapApiActionRequest()''' # CreateSoapApiActionRequest | + + try: + # Create a SOAP API action + new_create_soap_api_action_request = CreateSoapApiActionRequest.from_json(create_soap_api_action_request) + results = WorkflowActionsApi(api_client).create_soap_api_action(create_soap_api_action_request=new_create_soap_api_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_soap_api_action(new_create_soap_api_action_request) + print("The response of WorkflowActionsApi->create_soap_api_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_soap_api_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-status-change-action +Create a status change action +Create a status change action + +[API Spec](https://developer.sailpoint.com/docs/api//create-status-change-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_status_change_action_request | [**CreateStatusChangeActionRequest**](../models/create-status-change-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_status_change_action_request import CreateStatusChangeActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_status_change_action_request = '''sailpoint.nerm.CreateStatusChangeActionRequest()''' # CreateStatusChangeActionRequest | + + try: + # Create a status change action + new_create_status_change_action_request = CreateStatusChangeActionRequest.from_json(create_status_change_action_request) + results = WorkflowActionsApi(api_client).create_status_change_action(create_status_change_action_request=new_create_status_change_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_status_change_action(new_create_status_change_action_request) + print("The response of WorkflowActionsApi->create_status_change_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_status_change_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-unassign-action +Create an unassign action +Create an unassign action. The following supporting objects will need to be created after this action is created (which are tied together via workflow_action_id) - workflow_action_roles. These supporting objects must be created for this action to be complete (APIs for these supporting objects not yet implemented, use UI). + +[API Spec](https://developer.sailpoint.com/docs/api//create-unassign-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_unassign_action_request | [**CreateUnassignActionRequest**](../models/create-unassign-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_unassign_action_request import CreateUnassignActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_unassign_action_request = '''sailpoint.nerm.CreateUnassignActionRequest()''' # CreateUnassignActionRequest | + + try: + # Create an unassign action + new_create_unassign_action_request = CreateUnassignActionRequest.from_json(create_unassign_action_request) + results = WorkflowActionsApi(api_client).create_unassign_action(create_unassign_action_request=new_create_unassign_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_unassign_action(new_create_unassign_action_request) + print("The response of WorkflowActionsApi->create_unassign_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_unassign_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-update-profile-action +Create an update profile action +Create an update profile action + +[API Spec](https://developer.sailpoint.com/docs/api//create-update-profile-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_update_profile_action_request | [**CreateUpdateProfileActionRequest**](../models/create-update-profile-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_update_profile_action_request import CreateUpdateProfileActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_update_profile_action_request = '''sailpoint.nerm.CreateUpdateProfileActionRequest()''' # CreateUpdateProfileActionRequest | + + try: + # Create an update profile action + new_create_update_profile_action_request = CreateUpdateProfileActionRequest.from_json(create_update_profile_action_request) + results = WorkflowActionsApi(api_client).create_update_profile_action(create_update_profile_action_request=new_create_update_profile_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_update_profile_action(new_create_update_profile_action_request) + print("The response of WorkflowActionsApi->create_update_profile_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_update_profile_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-username-password-action +Create a username password action +Create a username password action + +[API Spec](https://developer.sailpoint.com/docs/api//create-username-password-action) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_username_password_action_request | [**CreateUsernamePasswordActionRequest**](../models/create-username-password-action-request) | True | + +### Return type +[**CreateApprovalAction200Response**](../models/create-approval-action200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateApprovalAction200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_username_password_action_request import CreateUsernamePasswordActionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_username_password_action_request = '''sailpoint.nerm.CreateUsernamePasswordActionRequest()''' # CreateUsernamePasswordActionRequest | + + try: + # Create a username password action + new_create_username_password_action_request = CreateUsernamePasswordActionRequest.from_json(create_username_password_action_request) + results = WorkflowActionsApi(api_client).create_username_password_action(create_username_password_action_request=new_create_username_password_action_request) + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).create_username_password_action(new_create_username_password_action_request) + print("The response of WorkflowActionsApi->create_username_password_action:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->create_username_password_action: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-workflow-actions +Get Workflow Actions +This endpoint can retrieve workflow actions + +[API Spec](https://developer.sailpoint.com/docs/api//get-workflow-actions) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | workflow_id | **str** | (optional) | Workflow ID for filtering + +### Return type +[**GetWorkflowActions200Response**](../models/get-workflow-actions200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetWorkflowActions200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_workflow_actions200_response import GetWorkflowActions200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + workflow_id = 'bba9cfb2-96c1-4acb-ac79-a21732527265' # str | Workflow ID for filtering (optional) # str | Workflow ID for filtering (optional) + + try: + # Get Workflow Actions + + results = WorkflowActionsApi(api_client).get_workflow_actions() + # Below is a request that includes all optional parameters + # results = WorkflowActionsApi(api_client).get_workflow_actions(workflow_id) + print("The response of WorkflowActionsApi->get_workflow_actions:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowActionsApi->get_workflow_actions: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/WorkflowSessionsApi.md b/sailpoint/nerm/docs/Methods/WorkflowSessionsApi.md new file mode 100644 index 000000000..7f73fb7ac --- /dev/null +++ b/sailpoint/nerm/docs/Methods/WorkflowSessionsApi.md @@ -0,0 +1,388 @@ +--- +id: workflow-sessions +title: Workflow_sessions +pagination_label: workflow_sessions +sidebar_label: workflow_sessions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'workflow_sessions', 'workflow_sessions'] +slug: /tools/sdk/python//methods/workflow-sessions +tags: ['SDK', 'Software Development Kit', 'workflow_sessions', 'workflow_sessions'] +--- + +# sailpoint.nerm.WorkflowSessionsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get-workflow-session**](#get-workflow-session) | **GET** `/workflow_sessions/{id}` | Find workflow session +[**get-workflow-session-upload**](#get-workflow-session-upload) | **GET** `/workflow_sessions/{id}/upload/{attribute_id}` | Retrieves workflow session attachment URL +[**get-workflow-sessions**](#get-workflow-sessions) | **GET** `/workflow_sessions` | Get workflow sessions +[**patch-workflow-session**](#patch-workflow-session) | **PATCH** `/workflow_sessions/{id}` | Update a workflow session +[**submit-workflow-session**](#submit-workflow-session) | **POST** `/workflow_sessions` | Create a workflow session +[**submit-workflow-session-upload**](#submit-workflow-session-upload) | **POST** `/workflow_sessions/{id}/upload/{attribute_id}` | Uploads workflow session attachment + + +## get-workflow-session +Find workflow session +Find workflow session by id + +[API Spec](https://developer.sailpoint.com/docs/api//get-workflow-session) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**SubmitWorkflowSession200Response**](../models/submit-workflow-session200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitWorkflowSession200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Find workflow session + + results = WorkflowSessionsApi(api_client).get_workflow_session(id=id) + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).get_workflow_session(id) + print("The response of WorkflowSessionsApi->get_workflow_session:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->get_workflow_session: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-workflow-session-upload +Retrieves workflow session attachment URL +Retrieves the URL of an attachment attribute value from a workflow session + +[API Spec](https://developer.sailpoint.com/docs/api//get-workflow-session-upload) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete +Path | attribute_id | **str** | True | The id of the attachment attribute + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | The id of the attachment attribute # str | The id of the attachment attribute + + try: + # Retrieves workflow session attachment URL + + results = WorkflowSessionsApi(api_client).get_workflow_session_upload(id=id, attribute_id=attribute_id) + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).get_workflow_session_upload(id, attribute_id) + print("The response of WorkflowSessionsApi->get_workflow_session_upload:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->get_workflow_session_upload: %s\n" % e) +``` + + + +[[Back to top]](#) + +## get-workflow-sessions +Get workflow sessions +Get workflow sessions + +[API Spec](https://developer.sailpoint.com/docs/api//get-workflow-sessions) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | order | **str** | (optional) | The field to order results by. + Query | profile_id | **str** | (optional) | Profile ID to filter by +Path | uid | **str** | (optional) | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. + Query | workflow_id | **str** | (optional) | Workflow ID for filtering + Query | requester_id | **str** | (optional) | Requester ID for filtering + Query | status | **str** | (optional) | filter by workflow session status + Query | metadata | **bool** | (optional) (default to False) | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). + +### Return type +[**GetWorkflowSessions200Response**](../models/get-workflow-sessions200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | GetWorkflowSessions200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.get_workflow_sessions200_response import GetWorkflowSessions200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + order = 'created_at' # str | The field to order results by. (optional) # str | The field to order results by. (optional) + profile_id = '4e480441-451d-47d9-87c2-9a0f0fe135eb' # str | Profile ID to filter by (optional) # str | Profile ID to filter by (optional) + uid = 'middle_initial_attribute' # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) # str | UID of the object to retrieve, update, or delete. A UID or \"specified identifier\" is a string typically in \"snake_case\" format that provides a human-readable description of the record. They are commonly used to ensure sandbox, qa, staging and production tenants have the identical configuration items loaded. Every record has a UID assigned when persisted. When not specified the system assigns one by default. A default value looks like a 32 character string of random hexadecimal characters. (optional) + workflow_id = 'bba9cfb2-96c1-4acb-ac79-a21732527265' # str | Workflow ID for filtering (optional) # str | Workflow ID for filtering (optional) + requester_id = 'c5e1dd38-7e29-464f-a0da-0c0d886d022a' # str | Requester ID for filtering (optional) # str | Requester ID for filtering (optional) + status = 'pending approval' # str | filter by workflow session status (optional) # str | filter by workflow session status (optional) + metadata = False # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) # bool | Returns batching metadata in the response. This includes `total` as the total quantity, `next` as the path of the following query url, `limit` and `after_id` (if requested) with the next following id (null if it is the last \"page\"). (optional) (default to False) + + try: + # Get workflow sessions + + results = WorkflowSessionsApi(api_client).get_workflow_sessions() + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).get_workflow_sessions(limit, offset, order, profile_id, uid, workflow_id, requester_id, status, metadata) + print("The response of WorkflowSessionsApi->get_workflow_sessions:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->get_workflow_sessions: %s\n" % e) +``` + + + +[[Back to top]](#) + +## patch-workflow-session +Update a workflow session +Update a workflow session by id + +[API Spec](https://developer.sailpoint.com/docs/api//patch-workflow-session) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | submit_workflow_session_request | [**SubmitWorkflowSessionRequest**](../models/submit-workflow-session-request) | True | + Query | run | **bool** | (optional) (default to False) | Will run the created/updated workflow session if successful + +### Return type +[**SubmitWorkflowSession200Response**](../models/submit-workflow-session200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitWorkflowSession200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + submit_workflow_session_request = '''sailpoint.nerm.SubmitWorkflowSessionRequest()''' # SubmitWorkflowSessionRequest | + run = False # bool | Will run the created/updated workflow session if successful (optional) (default to False) # bool | Will run the created/updated workflow session if successful (optional) (default to False) + + try: + # Update a workflow session + new_submit_workflow_session_request = SubmitWorkflowSessionRequest.from_json(submit_workflow_session_request) + results = WorkflowSessionsApi(api_client).patch_workflow_session(id=id, submit_workflow_session_request=new_submit_workflow_session_request) + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).patch_workflow_session(id, new_submit_workflow_session_request, run) + print("The response of WorkflowSessionsApi->patch_workflow_session:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->patch_workflow_session: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-workflow-session +Create a workflow session +Create a workflow session + +[API Spec](https://developer.sailpoint.com/docs/api//submit-workflow-session) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | submit_workflow_session_request | [**SubmitWorkflowSessionRequest**](../models/submit-workflow-session-request) | True | + Query | run | **bool** | (optional) (default to False) | Will run the created/updated workflow session if successful + +### Return type +[**SubmitWorkflowSession200Response**](../models/submit-workflow-session200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | SubmitWorkflowSession200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + submit_workflow_session_request = '''sailpoint.nerm.SubmitWorkflowSessionRequest()''' # SubmitWorkflowSessionRequest | + run = False # bool | Will run the created/updated workflow session if successful (optional) (default to False) # bool | Will run the created/updated workflow session if successful (optional) (default to False) + + try: + # Create a workflow session + new_submit_workflow_session_request = SubmitWorkflowSessionRequest.from_json(submit_workflow_session_request) + results = WorkflowSessionsApi(api_client).submit_workflow_session(submit_workflow_session_request=new_submit_workflow_session_request) + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).submit_workflow_session(new_submit_workflow_session_request, run) + print("The response of WorkflowSessionsApi->submit_workflow_session:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->submit_workflow_session: %s\n" % e) +``` + + + +[[Back to top]](#) + +## submit-workflow-session-upload +Uploads workflow session attachment +Uploads a new attachment attribute value to a workflow session. The upload must be a FORM data type; this is not a JSON API. The upload must include the binary content of the payload under the 'file' named form element. The upload must not attempt to include the file name or its content type as a other form or JSON as parameters. The upload must not attempt to upload the file body as the POST body payload; it has to arrive as a FORM parameter. Do not use a `File/Binary` payload type for the POST operation in your API client. + + +[API Spec](https://developer.sailpoint.com/docs/api//submit-workflow-session-upload) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete +Path | attribute_id | **str** | True | The id of the attachment attribute + | file | **bytearray** | (optional) | + +### Return type +[**Url**](../models/url) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | Url | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: multipart/form-data + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.url import Url +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | The id of the attachment attribute # str | The id of the attachment attribute + file = None # bytearray | (optional) # bytearray | (optional) + + try: + # Uploads workflow session attachment + + results = WorkflowSessionsApi(api_client).submit_workflow_session_upload(id=id, attribute_id=attribute_id) + # Below is a request that includes all optional parameters + # results = WorkflowSessionsApi(api_client).submit_workflow_session_upload(id, attribute_id, file) + print("The response of WorkflowSessionsApi->submit_workflow_session_upload:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowSessionsApi->submit_workflow_session_upload: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Methods/WorkflowsApi.md b/sailpoint/nerm/docs/Methods/WorkflowsApi.md new file mode 100644 index 000000000..baf6cd36c --- /dev/null +++ b/sailpoint/nerm/docs/Methods/WorkflowsApi.md @@ -0,0 +1,420 @@ +--- +id: workflows +title: Workflows +pagination_label: workflows +sidebar_label: workflows +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'workflows', 'workflows'] +slug: /tools/sdk/python//methods/workflows +tags: ['SDK', 'Software Development Kit', 'workflows', 'workflows'] +--- + +# sailpoint.nerm.WorkflowsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create-automated-workflow**](#create-automated-workflow) | **POST** `/workflows/automated_workflows` | Create an automated workflow +[**create-batch-workflow**](#create-batch-workflow) | **POST** `/workflows/batch_workflows` | Create a batch workflow +[**create-create-workflow**](#create-create-workflow) | **POST** `/workflows/create_workflows` | Create a create workflow +[**create-login-workflow**](#create-login-workflow) | **POST** `/workflows/login_workflows` | Create a login workflow +[**create-password-update-workflow**](#create-password-update-workflow) | **POST** `/workflows/password_reset_workflows` | Create a password reset workflow +[**create-registration-workflow**](#create-registration-workflow) | **POST** `/workflows/registration_workflows` | Create a registration workflow +[**create-update-workflow**](#create-update-workflow) | **POST** `/workflows/update_workflows` | Create an update workflow + + +## create-automated-workflow +Create an automated workflow +Create an automated workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-automated-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_automated_workflow_request | [**CreateAutomatedWorkflowRequest**](../models/create-automated-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_automated_workflow_request import CreateAutomatedWorkflowRequest +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_automated_workflow_request = '''sailpoint.nerm.CreateAutomatedWorkflowRequest()''' # CreateAutomatedWorkflowRequest | + + try: + # Create an automated workflow + new_create_automated_workflow_request = CreateAutomatedWorkflowRequest.from_json(create_automated_workflow_request) + results = WorkflowsApi(api_client).create_automated_workflow(create_automated_workflow_request=new_create_automated_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_automated_workflow(new_create_automated_workflow_request) + print("The response of WorkflowsApi->create_automated_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_automated_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-batch-workflow +Create a batch workflow +Create a batch workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-batch-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_batch_workflow_request | [**CreateBatchWorkflowRequest**](../models/create-batch-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_batch_workflow_request import CreateBatchWorkflowRequest +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_batch_workflow_request = '''sailpoint.nerm.CreateBatchWorkflowRequest()''' # CreateBatchWorkflowRequest | + + try: + # Create a batch workflow + new_create_batch_workflow_request = CreateBatchWorkflowRequest.from_json(create_batch_workflow_request) + results = WorkflowsApi(api_client).create_batch_workflow(create_batch_workflow_request=new_create_batch_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_batch_workflow(new_create_batch_workflow_request) + print("The response of WorkflowsApi->create_batch_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_batch_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-create-workflow +Create a create workflow +Create a create workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-create-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_create_workflow_request | [**CreateCreateWorkflowRequest**](../models/create-create-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_create_workflow_request = '''sailpoint.nerm.CreateCreateWorkflowRequest()''' # CreateCreateWorkflowRequest | + + try: + # Create a create workflow + new_create_create_workflow_request = CreateCreateWorkflowRequest.from_json(create_create_workflow_request) + results = WorkflowsApi(api_client).create_create_workflow(create_create_workflow_request=new_create_create_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_create_workflow(new_create_create_workflow_request) + print("The response of WorkflowsApi->create_create_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_create_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-login-workflow +Create a login workflow +Create a login workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-login-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_login_workflow_request | [**CreateLoginWorkflowRequest**](../models/create-login-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_login_workflow_request = '''sailpoint.nerm.CreateLoginWorkflowRequest()''' # CreateLoginWorkflowRequest | + + try: + # Create a login workflow + new_create_login_workflow_request = CreateLoginWorkflowRequest.from_json(create_login_workflow_request) + results = WorkflowsApi(api_client).create_login_workflow(create_login_workflow_request=new_create_login_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_login_workflow(new_create_login_workflow_request) + print("The response of WorkflowsApi->create_login_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_login_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-password-update-workflow +Create a password reset workflow +Create a password reset workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-password-update-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_login_workflow_request | [**CreateLoginWorkflowRequest**](../models/create-login-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_login_workflow_request = '''sailpoint.nerm.CreateLoginWorkflowRequest()''' # CreateLoginWorkflowRequest | + + try: + # Create a password reset workflow + new_create_login_workflow_request = CreateLoginWorkflowRequest.from_json(create_login_workflow_request) + results = WorkflowsApi(api_client).create_password_update_workflow(create_login_workflow_request=new_create_login_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_password_update_workflow(new_create_login_workflow_request) + print("The response of WorkflowsApi->create_password_update_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_password_update_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-registration-workflow +Create a registration workflow +Create a registration workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-registration-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_create_workflow_request | [**CreateCreateWorkflowRequest**](../models/create-create-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_create_workflow_request = '''sailpoint.nerm.CreateCreateWorkflowRequest()''' # CreateCreateWorkflowRequest | + + try: + # Create a registration workflow + new_create_create_workflow_request = CreateCreateWorkflowRequest.from_json(create_create_workflow_request) + results = WorkflowsApi(api_client).create_registration_workflow(create_create_workflow_request=new_create_create_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_registration_workflow(new_create_create_workflow_request) + print("The response of WorkflowsApi->create_registration_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_registration_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + +## create-update-workflow +Create an update workflow +Create an update workflow + +[API Spec](https://developer.sailpoint.com/docs/api//create-update-workflow) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | create_update_workflow_request | [**CreateUpdateWorkflowRequest**](../models/create-update-workflow-request) | True | + +### Return type +[**CreateCreateWorkflow200Response**](../models/create-create-workflow200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | CreateCreateWorkflow200Response | - | +400 | Bad Request - unable to complete. | GetAttributes400Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | GetAttributes500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.api.workflows_api import WorkflowsApi +from sailpoint.nerm.api_client import ApiClient +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_update_workflow_request import CreateUpdateWorkflowRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + create_update_workflow_request = '''sailpoint.nerm.CreateUpdateWorkflowRequest()''' # CreateUpdateWorkflowRequest | + + try: + # Create an update workflow + new_create_update_workflow_request = CreateUpdateWorkflowRequest.from_json(create_update_workflow_request) + results = WorkflowsApi(api_client).create_update_workflow(create_update_workflow_request=new_create_update_workflow_request) + # Below is a request that includes all optional parameters + # results = WorkflowsApi(api_client).create_update_workflow(new_create_update_workflow_request) + print("The response of WorkflowsApi->create_update_workflow:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling WorkflowsApi->create_update_workflow: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/docs/Models/AdvancedSearch.md b/sailpoint/nerm/docs/Models/AdvancedSearch.md new file mode 100644 index 000000000..255f9c6bb --- /dev/null +++ b/sailpoint/nerm/docs/Models/AdvancedSearch.md @@ -0,0 +1,41 @@ +--- +id: advanced-search +title: AdvancedSearch +pagination_label: AdvancedSearch +sidebar_label: AdvancedSearch +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AdvancedSearch', 'AdvancedSearch'] +slug: /tools/sdk/python//models/advanced-search +tags: ['SDK', 'Software Development Kit', 'AdvancedSearch', 'AdvancedSearch'] +--- + +# AdvancedSearch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**label** | **str** | | [optional] +**condition_rules_attributes** | [**[]AdvancedSearchConditionRulesAttributesInner**](advanced-search-condition-rules-attributes-inner) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.advanced_search import AdvancedSearch + +advanced_search = AdvancedSearch( +id='', +uid='', +label='', +condition_rules_attributes=[ + null + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AdvancedSearch1.md b/sailpoint/nerm/docs/Models/AdvancedSearch1.md new file mode 100644 index 000000000..ce0649667 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AdvancedSearch1.md @@ -0,0 +1,37 @@ +--- +id: advanced-search1 +title: AdvancedSearch1 +pagination_label: AdvancedSearch1 +sidebar_label: AdvancedSearch1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AdvancedSearch1', 'AdvancedSearch1'] +slug: /tools/sdk/python//models/advanced-search1 +tags: ['SDK', 'Software Development Kit', 'AdvancedSearch1', 'AdvancedSearch1'] +--- + +# AdvancedSearch1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**label** | **str** | | [optional] +**condition_rules_attributes** | [**[]AdvancedSearch1ConditionRulesAttributesInner**](advanced-search1-condition-rules-attributes-inner) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.advanced_search1 import AdvancedSearch1 + +advanced_search1 = AdvancedSearch1( +label='', +condition_rules_attributes=[ + null + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AdvancedSearch1ConditionRulesAttributesInner.md b/sailpoint/nerm/docs/Models/AdvancedSearch1ConditionRulesAttributesInner.md new file mode 100644 index 000000000..670474569 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AdvancedSearch1ConditionRulesAttributesInner.md @@ -0,0 +1,49 @@ +--- +id: advanced-search1-condition-rules-attributes-inner +title: AdvancedSearch1ConditionRulesAttributesInner +pagination_label: AdvancedSearch1ConditionRulesAttributesInner +sidebar_label: AdvancedSearch1ConditionRulesAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AdvancedSearch1ConditionRulesAttributesInner', 'AdvancedSearch1ConditionRulesAttributesInner'] +slug: /tools/sdk/python//models/advanced-search1-condition-rules-attributes-inner +tags: ['SDK', 'Software Development Kit', 'AdvancedSearch1ConditionRulesAttributesInner', 'AdvancedSearch1ConditionRulesAttributesInner'] +--- + +# AdvancedSearch1ConditionRulesAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileTypeRule', 'ProfileStatusRule', 'ProfileAttributeRule', 'RiskRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '>', '<' ] | | [required] +**value** | **str** | | [required] +**condition_object_type** | **Enum** [ 'ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**secondary_attribute_type** | **Enum** [ 'DateAttribute' ] | | [optional] +**secondary_attribute_id** | **str** | | [optional] +**secondary_value** | **Enum** [ 'OverallRisk' ] | | [required] +**tertiary_value** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.advanced_search1_condition_rules_attributes_inner import AdvancedSearch1ConditionRulesAttributesInner + +advanced_search1_condition_rules_attributes_inner = AdvancedSearch1ConditionRulesAttributesInner( +type='ProfileTypeRule', +comparison_operator='==', +value='', +condition_object_type='ProfileSelectAttribute', +condition_object_id='', +secondary_attribute_type='DateAttribute', +secondary_attribute_id='', +secondary_value='OverallRisk', +tertiary_value='30' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AdvancedSearchConditionRulesAttributesInner.md b/sailpoint/nerm/docs/Models/AdvancedSearchConditionRulesAttributesInner.md new file mode 100644 index 000000000..4d4eb6718 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AdvancedSearchConditionRulesAttributesInner.md @@ -0,0 +1,53 @@ +--- +id: advanced-search-condition-rules-attributes-inner +title: AdvancedSearchConditionRulesAttributesInner +pagination_label: AdvancedSearchConditionRulesAttributesInner +sidebar_label: AdvancedSearchConditionRulesAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AdvancedSearchConditionRulesAttributesInner', 'AdvancedSearchConditionRulesAttributesInner'] +slug: /tools/sdk/python//models/advanced-search-condition-rules-attributes-inner +tags: ['SDK', 'Software Development Kit', 'AdvancedSearchConditionRulesAttributesInner', 'AdvancedSearchConditionRulesAttributesInner'] +--- + +# AdvancedSearchConditionRulesAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileTypeRule', 'ProfileStatusRule', 'ProfileAttributeRule', 'RiskRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '>', '<' ] | | [required] +**value** | **str** | | [required] +**condition_object_type** | **Enum** [ 'ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**secondary_attribute_type** | **Enum** [ 'DateAttribute' ] | | [optional] +**secondary_attribute_id** | **str** | | [optional] +**secondary_value** | **Enum** [ 'OverallRisk' ] | | [required] +**tertiary_value** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.advanced_search_condition_rules_attributes_inner import AdvancedSearchConditionRulesAttributesInner + +advanced_search_condition_rules_attributes_inner = AdvancedSearchConditionRulesAttributesInner( +id='', +uid='', +type='ProfileTypeRule', +comparison_operator='==', +value='', +condition_object_type='ProfileSelectAttribute', +condition_object_id='', +secondary_attribute_type='DateAttribute', +secondary_attribute_id='', +secondary_value='OverallRisk', +tertiary_value='30' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ApprovalAction.md b/sailpoint/nerm/docs/Models/ApprovalAction.md new file mode 100644 index 000000000..87d071752 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ApprovalAction.md @@ -0,0 +1,43 @@ +--- +id: approval-action +title: ApprovalAction +pagination_label: ApprovalAction +sidebar_label: ApprovalAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ApprovalAction', 'ApprovalAction'] +slug: /tools/sdk/python//models/approval-action +tags: ['SDK', 'Software Development Kit', 'ApprovalAction', 'ApprovalAction'] +--- + +# ApprovalAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [optional] +**page_id** | **str** | The page the workflow action should render. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**skippable** | **bool** | If the workflow action is skippable or not. | [optional] [default to False] +**requires_comment** | **bool** | If the workflow action requires a comment or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.approval_action import ApprovalAction + +approval_action = ApprovalAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Require approval from another user or a group of users with a specific role.', +page_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +archived=False, +skippable=False, +requires_comment=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AskSecurityQuestionAction.md b/sailpoint/nerm/docs/Models/AskSecurityQuestionAction.md new file mode 100644 index 000000000..ecf412441 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AskSecurityQuestionAction.md @@ -0,0 +1,43 @@ +--- +id: ask-security-question-action +title: AskSecurityQuestionAction +pagination_label: AskSecurityQuestionAction +sidebar_label: AskSecurityQuestionAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AskSecurityQuestionAction', 'AskSecurityQuestionAction'] +slug: /tools/sdk/python//models/ask-security-question-action +tags: ['SDK', 'Software Development Kit', 'AskSecurityQuestionAction', 'AskSecurityQuestionAction'] +--- + +# AskSecurityQuestionAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**number_of_questions** | **int** | The number of questions the user should answer upon login. | [required] +**token_expiration** | **int** | The token expiration time, coordinates with token_expiration_type. | [required] +**token_expiration_type** | **Enum** [ 'hours', 'days', 'login attempts', 'always' ] | The token expiration type, coordinates with token_expiration. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.ask_security_question_action import AskSecurityQuestionAction + +ask_security_question_action = AskSecurityQuestionAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Prompt the user to answer some personal security questions.', +number_of_questions=1, +token_expiration=1, +token_expiration_type='days', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Attribute.md b/sailpoint/nerm/docs/Models/Attribute.md new file mode 100644 index 000000000..abc6d1ca7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Attribute.md @@ -0,0 +1,99 @@ +--- +id: attribute +title: Attribute +pagination_label: Attribute +sidebar_label: Attribute +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Attribute', 'Attribute'] +slug: /tools/sdk/python//models/attribute +tags: ['SDK', 'Software Development Kit', 'Attribute', 'Attribute'] +--- + +# Attribute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the attribute | [optional] [readonly] +**uid** | **str** | The user-specified identifier of the attribute | [optional] [readonly] +**label** | **str** | The label for the attribute | [optional] +**description** | **str** | A description of the attribute | [optional] +**tool_tip** | **str** | The helper text that accompanies the attribute | [optional] +**crypt** | **bool** | Whether the attribute is encrypted | [optional] +**archived** | **bool** | Whether the attribute is archived | [optional] +**archived_on** | **datetime** | When the attribute was archived | [optional] +**created_at** | **datetime** | When the attribute was created | [optional] +**updated_at** | **datetime** | When the attribute was updated | [optional] +**date_format** | **Enum** [ 'mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd' ] | The format of the date input if it is a date input | [optional] +**selectable_status** | **str** | The status of the profiles that can be selected | [optional] +**risk_type** | **str** | Type of risk that applies to the attribute | [optional] +**ownership_driven** | **bool** | Only shows profiles that the user currently has access to, to be selected | [optional] +**allow_multiple_selections** | **bool** | Whether or not multiple selections can be made on something like a contributor search. | [optional] +**filtered_by_ne_attribute** | **bool** | Whether or not the attribute is filtered by another attribute | [optional] +**filtering_ne_attribute_id** | **str** | The ID of the filtering attribute | [optional] +**ne_attribute_filter_id** | **str** | The ID of the attribute filter | [optional] +**reverse_association_attribute** | [**AttributeProperties**](attribute-properties) | | [optional] +**profile_type_id** | **str** | The ID of the profile type the attribute applies to | [optional] +**data_type** | **Enum** [ 'text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search' ] | The type of data that applies to the attribute | [optional] +**type** | **Enum** [ 'AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute' ] | The attribute's type | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute import Attribute + +attribute = Attribute( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='myattribute', +label='birthday', +description='Your birthday', +tool_tip='Put your birthday here mm-dd-yyyy', +crypt=False, +archived=False, +archived_on=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +date_format='mm/dd/yyyy', +selectable_status='Active', +risk_type='OverallRisk', +ownership_driven=True, +allow_multiple_selections=True, +filtered_by_ne_attribute=True, +filtering_ne_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +ne_attribute_filter_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +reverse_association_attribute=sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), +profile_type_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +data_type='text field', +type='AttachmentAttribute' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Attribute1.md b/sailpoint/nerm/docs/Models/Attribute1.md new file mode 100644 index 000000000..fa3c88e9b --- /dev/null +++ b/sailpoint/nerm/docs/Models/Attribute1.md @@ -0,0 +1,96 @@ +--- +id: attribute1 +title: Attribute1 +pagination_label: Attribute1 +sidebar_label: Attribute1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Attribute1', 'Attribute1'] +slug: /tools/sdk/python//models/attribute1 +tags: ['SDK', 'Software Development Kit', 'Attribute1', 'Attribute1'] +--- + +# Attribute1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the attribute | [optional] [readonly] +**uid** | **str** | The user-specified identifier of the attribute | [optional] [readonly] +**label** | **str** | The label for the attribute | [optional] +**description** | **str** | A description of the attribute | [optional] +**tool_tip** | **str** | The helper text that accompanies the attribute | [optional] +**archived** | **bool** | Whether the attribute is archived | [optional] +**date_format** | **Enum** [ 'mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd' ] | The format of the date input if it is a date input | [optional] +**selectable_status** | **str** | The status of the profiles that can be selected | [optional] +**risk_type** | **str** | Type of risk that applies to the attribute | [optional] +**ownership_driven** | **bool** | Only shows profiles that the user currently has access to, to be selected | [optional] +**allow_multiple_selections** | **bool** | Whether or not multiple selections can be made on something like a contributor search. | [optional] +**filtered_by_ne_attribute** | **bool** | Whether or not the attribute is filtered by another attribute | [optional] +**filtering_ne_attribute_id** | **str** | The ID of the filtering attribute | [optional] +**ne_attribute_filter_id** | **str** | The ID of the attribute filter | [optional] +**reverse_association_attribute** | [**AttributeProperties**](attribute-properties) | | [optional] +**profile_type_id** | **str** | The ID of the profile type the attribute applies to | [optional] +**data_type** | **Enum** [ 'text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search' ] | The type of data that applies to the attribute | [optional] +**type** | **Enum** [ 'AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute' ] | The attribute's type | [optional] +**validations_attributes** | [**Attribute1ValidationsAttributes**](attribute1-validations-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute1 import Attribute1 + +attribute1 = Attribute1( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='myattribute', +label='birthday', +description='Your birthday', +tool_tip='Put your birthday here mm-dd-yyyy', +archived=False, +date_format='mm/dd/yyyy', +selectable_status='Active', +risk_type='OverallRisk', +ownership_driven=True, +allow_multiple_selections=True, +filtered_by_ne_attribute=True, +filtering_ne_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +ne_attribute_filter_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +reverse_association_attribute=sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), +profile_type_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +data_type='text field', +type='AttachmentAttribute', +validations_attributes=sailpoint.nerm.models.attribute_1_validations_attributes.Attribute_1_validations_attributes( + validation_method = 'required', + value = 'mm-dd-yyyy', + _destroy = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Attribute1ValidationsAttributes.md b/sailpoint/nerm/docs/Models/Attribute1ValidationsAttributes.md new file mode 100644 index 000000000..9f2ed0a55 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Attribute1ValidationsAttributes.md @@ -0,0 +1,37 @@ +--- +id: attribute1-validations-attributes +title: Attribute1ValidationsAttributes +pagination_label: Attribute1ValidationsAttributes +sidebar_label: Attribute1ValidationsAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Attribute1ValidationsAttributes', 'Attribute1ValidationsAttributes'] +slug: /tools/sdk/python//models/attribute1-validations-attributes +tags: ['SDK', 'Software Development Kit', 'Attribute1ValidationsAttributes', 'Attribute1ValidationsAttributes'] +--- + +# Attribute1ValidationsAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**validation_method** | **Enum** [ 'required', 'unique', 'date_format', 'days', 'characters', 'extension', 'numericality', 'email_format', 'custom_format', 'no_special_chars' ] | The type of validation to be applied | [optional] +**value** | **str** | The value of the validator | [optional] +**destroy** | **bool** | If the validator should be removed | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute1_validations_attributes import Attribute1ValidationsAttributes + +attribute1_validations_attributes = Attribute1ValidationsAttributes( +validation_method='required', +value='mm-dd-yyyy', +destroy=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AttributeOption.md b/sailpoint/nerm/docs/Models/AttributeOption.md new file mode 100644 index 000000000..5d63d293c --- /dev/null +++ b/sailpoint/nerm/docs/Models/AttributeOption.md @@ -0,0 +1,39 @@ +--- +id: attribute-option +title: AttributeOption +pagination_label: AttributeOption +sidebar_label: AttributeOption +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AttributeOption', 'AttributeOption'] +slug: /tools/sdk/python//models/attribute-option +tags: ['SDK', 'Software Development Kit', 'AttributeOption', 'AttributeOption'] +--- + +# AttributeOption + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**ne_attribute_id** | **str** | | [optional] +**option** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute_option import AttributeOption + +attribute_option = AttributeOption( +id='', +uid='', +ne_attribute_id='', +option='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AttributeOption1.md b/sailpoint/nerm/docs/Models/AttributeOption1.md new file mode 100644 index 000000000..e9faeb20b --- /dev/null +++ b/sailpoint/nerm/docs/Models/AttributeOption1.md @@ -0,0 +1,35 @@ +--- +id: attribute-option1 +title: AttributeOption1 +pagination_label: AttributeOption1 +sidebar_label: AttributeOption1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AttributeOption1', 'AttributeOption1'] +slug: /tools/sdk/python//models/attribute-option1 +tags: ['SDK', 'Software Development Kit', 'AttributeOption1', 'AttributeOption1'] +--- + +# AttributeOption1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_id** | **str** | | [optional] +**option** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute_option1 import AttributeOption1 + +attribute_option1 = AttributeOption1( +ne_attribute_id='', +option='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AttributeOptions.md b/sailpoint/nerm/docs/Models/AttributeOptions.md new file mode 100644 index 000000000..2e663bc99 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AttributeOptions.md @@ -0,0 +1,39 @@ +--- +id: attribute-options +title: AttributeOptions +pagination_label: AttributeOptions +sidebar_label: AttributeOptions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AttributeOptions', 'AttributeOptions'] +slug: /tools/sdk/python//models/attribute-options +tags: ['SDK', 'Software Development Kit', 'AttributeOptions', 'AttributeOptions'] +--- + +# AttributeOptions + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_options** | [**[]AttributeOption**](attribute-option) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.attribute_options import AttributeOptions + +attribute_options = AttributeOptions( +ne_attribute_options=[ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AttributeProperties.md b/sailpoint/nerm/docs/Models/AttributeProperties.md new file mode 100644 index 000000000..ce4e3d3cc --- /dev/null +++ b/sailpoint/nerm/docs/Models/AttributeProperties.md @@ -0,0 +1,79 @@ +--- +id: attribute-properties +title: AttributeProperties +pagination_label: AttributeProperties +sidebar_label: AttributeProperties +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AttributeProperties', 'AttributeProperties'] +slug: /tools/sdk/python//models/attribute-properties +tags: ['SDK', 'Software Development Kit', 'AttributeProperties', 'AttributeProperties'] +--- + +# AttributeProperties + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the attribute | [optional] [readonly] +**uid** | **str** | The user-specified identifier of the attribute | [optional] [readonly] +**label** | **str** | The label for the attribute | [optional] +**description** | **str** | A description of the attribute | [optional] +**tool_tip** | **str** | The helper text that accompanies the attribute | [optional] +**crypt** | **bool** | Whether or not the attribute is encrypted | [optional] +**archived** | **bool** | Whether the attribute is archived | [optional] +**archived_on** | **datetime** | When the attribute was archived | [optional] [readonly] +**created_at** | **datetime** | When the attribute was created | [optional] [readonly] +**updated_at** | **datetime** | When the attribute was last updated | [optional] [readonly] +**date_format** | **Enum** [ 'mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd' ] | The format of the date input if it is a date input | [optional] +**selectable_status** | **str** | The status of the profiles that can be selected | [optional] +**risk_score_setting** | **str** | What setting is used for the risk score | [optional] +**risk_type** | **str** | Type of risk that applies to the attribute | [optional] +**ownership_driven** | **bool** | Only shows profiles that the user currently has access to, to be selected | [optional] +**allow_multiple_selections** | **bool** | Whether or not multiple selections can be made on something like a contributor search. | [optional] +**filtered_by_ne_attribute** | **bool** | Whether or not the attribute is filtered by another attribute | [optional] +**filtering_ne_attribute_id** | **str** | The ID of the filtering attribute | [optional] +**ne_attribute_filter_id** | **str** | The ID of the attribute filter | [optional] +**reverse_association_attribute_id** | **str** | The ID of the attribute used with reverse association | [optional] +**profile_type_id** | **str** | The ID of the profile type the attribute applies to | [optional] +**legacy_id** | **str** | The legacy ID | [optional] +**tmp_created_at** | **datetime** | the temp of when attribute was created | [optional] [readonly] +**tmp_updated_at** | **datetime** | the temp of when attribute was last updated | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.attribute_properties import AttributeProperties + +attribute_properties = AttributeProperties( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='myattribute', +label='birthday', +description='Your birthday', +tool_tip='Put your birthday here mm-dd-yyyy', +crypt=False, +archived=False, +archived_on=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +date_format='mm/dd/yyyy', +selectable_status='Active', +risk_score_setting='standard', +risk_type='OverallRisk', +ownership_driven=True, +allow_multiple_selections=True, +filtered_by_ne_attribute=True, +filtering_ne_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +ne_attribute_filter_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +reverse_association_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +profile_type_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +legacy_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +tmp_created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +tmp_updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AuditEvent.md b/sailpoint/nerm/docs/Models/AuditEvent.md new file mode 100644 index 000000000..2a5a0d4e2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AuditEvent.md @@ -0,0 +1,49 @@ +--- +id: audit-event +title: AuditEvent +pagination_label: AuditEvent +sidebar_label: AuditEvent +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AuditEvent', 'AuditEvent'] +slug: /tools/sdk/python//models/audit-event +tags: ['SDK', 'Software Development Kit', 'AuditEvent', 'AuditEvent'] +--- + +# AuditEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_at** | [**AuditEventCreatedAt**](audit-event-created-at) | | [optional] +**subject_type** | **Enum** [ 'Profile', 'WorkflowSession', 'Email', 'FormAttributeForm', 'FormAttribute', 'Form', 'IdentityProofingResult', 'IdproxyPermission', 'NeAttributeOption', 'NeAttribute', 'Notification', 'WorkflowPage', 'ProfilePage', 'Permission', 'PortalRegistrationWorkflow', 'Portal', 'ProfileTypeRole', 'ProfileType', 'RoleProfile', 'NeprofileRole', 'NeaccessRole', 'IdproxyRole', 'SecurityQuestion', 'UserManager', 'UserProfile', 'UserRole', 'User', 'Validation', 'VerificationEmail', 'WorkflowAction', 'CreateWorkflow', 'UpdateWorkflow', 'AutomatedWorkflow', 'BatchWorkflow', 'ExpirationWorkflow', 'InvitationWorkflow', 'LoginWorkflow', 'PasswordResetWorkflow', 'RegistrationWorkflow', 'Get', 'Post', 'Patch', 'Delete', 'ApprovalAction', 'AutomatedUser', 'DelegateUser', 'NeaccessUser', 'NeprofileUser', 'Page', 'Role', 'SamlConfiguration', 'SchemaMapping', 'SchemaMappingField', 'Workflow' ] | Categorization of audit event. | [optional] +**type** | **Enum** [ 'AuditableProfileCreate', 'AuditableProfileUpdate', 'AuditableProfileDestroy', 'AuditableBulkProfileUpdate', 'AuditableProfileContributorAdd', 'AuditableProfileContributorRemove', 'AuditableProfileContributorRoleAdd', 'AuditableProfileContributorRoleRemove', 'AuditableProfileOwnerUpdate', 'AuditableProfileWorkflowEvent', 'AuditableWorkflowActionSkippedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowAssignedEvent', 'AuditableWorkflowAutoAssignedEvent', 'AuditableWorkflowBatchCompleteEvent', 'AuditableWorkflowClosedEvent', 'AuditableWorkflowDuplicateCheckStartEvent', 'AuditableWorkflowDuplicateResolutionEvent', 'AuditableWorkflowFailedEvent', 'AuditableWorkflowIdentityProofedEvent', 'AuditableWorkflowInvitationSentEvent', 'AuditableWorkflowLdapProvidedEvent', 'AuditableWorkflowNotificationSentEvent', 'AuditableWorkflowPendingApprovalEvent', 'AuditableWorkflowPendingAssignmentEvent', 'AuditableWorkflowPendingFulfillmentEvent', 'AuditableWorkflowFulfilledEvent', 'AuditableWorkflowPendingIdentityProofEvent', 'AuditableWorkflowPendingLdapEvent', 'AuditableWorkflowPendingRequestEvent', 'AuditableWorkflowPendingReviewEvent', 'AuditableWorkflowProfileCreatedEvent', 'AuditableWorkflowProfileSelectEvent', 'AuditableWorkflowProfileUpdatedEvent', 'AuditableWorkflowRejectedEvent', 'AuditableWorkflowRequestMadeEvent', 'AuditableWorkflowRestApiEvent', 'AuditableWorkflowReviewedEvent', 'AuditableWorkflowRunningWorkflowEvent', 'AuditableWorkflowSoapApiEvent', 'AuditableWorkflowStatusChangedEvent', 'AuditableWorkflowStoredProcedureEvent', 'AuditableWorkflowUnassignEvent', 'AuditableWorkflowWaitingForWorkflowEvent', 'AuditableWorkflowWorkflowChangedEvent', 'ActiveRecordCreate', 'ActiveRecordUpdate', 'ActiveRecordDestroy', 'AuditableApiEvent' ] | The type of audit event | [optional] +**subject_id** | **str** | Identifier of the subject | [optional] +**data** | [**AuditEventData**](audit-event-data) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.audit_event import AuditEvent + +audit_event = AuditEvent( +created_at=sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), +subject_type='Profile', +type='AuditableProfileCreate', +subject_id='7d8c53ca-e99d-485c-9524-ea3849e82c79', +data=sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AuditEventCreatedAt.md b/sailpoint/nerm/docs/Models/AuditEventCreatedAt.md new file mode 100644 index 000000000..002b22340 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AuditEventCreatedAt.md @@ -0,0 +1,38 @@ +--- +id: audit-event-created-at +title: AuditEventCreatedAt +pagination_label: AuditEventCreatedAt +sidebar_label: AuditEventCreatedAt +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AuditEventCreatedAt', 'AuditEventCreatedAt'] +slug: /tools/sdk/python//models/audit-event-created-at +tags: ['SDK', 'Software Development Kit', 'AuditEventCreatedAt', 'AuditEventCreatedAt'] +--- + +# AuditEventCreatedAt + +Search for record based on the created_at date + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**gt** | **date** | Greater Than - search for events with a date greater than the value | [optional] +**lt** | **date** | Less Than - search for events with a date less than the value | [optional] +**eq** | **date** | Equal - search for events with a date equal to the value | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.audit_event_created_at import AuditEventCreatedAt + +audit_event_created_at = AuditEventCreatedAt( +gt=datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), +lt=datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), +eq=datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date() +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AuditEventData.md b/sailpoint/nerm/docs/Models/AuditEventData.md new file mode 100644 index 000000000..7ab33272f --- /dev/null +++ b/sailpoint/nerm/docs/Models/AuditEventData.md @@ -0,0 +1,41 @@ +--- +id: audit-event-data +title: AuditEventData +pagination_label: AuditEventData +sidebar_label: AuditEventData +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AuditEventData', 'AuditEventData'] +slug: /tools/sdk/python//models/audit-event-data +tags: ['SDK', 'Software Development Kit', 'AuditEventData', 'AuditEventData'] +--- + +# AuditEventData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_id** | **str** | The profile id associated with the event | [optional] +**workflow_id** | **str** | The workflow id associated with the event | [optional] +**workflow_name** | **str** | The workflow name associated with the event | [optional] +**workflow_uid** | **str** | The workflow uid associated with the event | [optional] +**profile_type_id** | **str** | The profile type associated with the event | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.audit_event_data import AuditEventData + +audit_event_data = AuditEventData( +profile_id='7d8c53ca-e99d-485c-9524-ea3849e82c79', +workflow_id='7d8c53ca-e99d-485c-9524-ea3849e82c79', +workflow_name='My Workflow', +workflow_uid='my_workflow', +profile_type_id='7d8c53ca-e99d-485c-9524-ea3849e82c79' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AutoAssignAction.md b/sailpoint/nerm/docs/Models/AutoAssignAction.md new file mode 100644 index 000000000..37d34e571 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AutoAssignAction.md @@ -0,0 +1,39 @@ +--- +id: auto-assign-action +title: AutoAssignAction +pagination_label: AutoAssignAction +sidebar_label: AutoAssignAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AutoAssignAction', 'AutoAssignAction'] +slug: /tools/sdk/python//models/auto-assign-action +tags: ['SDK', 'Software Development Kit', 'AutoAssignAction', 'AutoAssignAction'] +--- + +# AutoAssignAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**contributor_attr** | **str** | The id of the contributor attribute for contributors from another profile. If workflow_action_roles are not associated to this object, this is required. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.auto_assign_action import AutoAssignAction + +auto_assign_action = AutoAssignAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Automatically assigns contributors to this profile.', +archived=False, +contributor_attr='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AutomatedWorkflow.md b/sailpoint/nerm/docs/Models/AutomatedWorkflow.md new file mode 100644 index 000000000..c4a30a094 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AutomatedWorkflow.md @@ -0,0 +1,43 @@ +--- +id: automated-workflow +title: AutomatedWorkflow +pagination_label: AutomatedWorkflow +sidebar_label: AutomatedWorkflow +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AutomatedWorkflow', 'AutomatedWorkflow'] +slug: /tools/sdk/python//models/automated-workflow +tags: ['SDK', 'Software Development Kit', 'AutomatedWorkflow', 'AutomatedWorkflow'] +--- + +# AutomatedWorkflow + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The profile type the workflow effects. | [required] +**status** | **Enum** [ 'Enabled', 'Disabled' ] | Whether or not the workflow is enabled or disabled. | [required] +**uid** | **str** | The user-specified identifier of the workflow. | [required] +**name** | **str** | Name of the workflow | [required] +**disable_failure_email_notifications** | **bool** | When honored at runtime, suppresses failure email notifications for this workflow's sessions. | [optional] +**condition_rules_attributes** | [**[]AutomatedWorkflowConditionRulesAttributesInner**](automated-workflow-condition-rules-attributes-inner) | The ProfileTypeRule this workflow will be working with. | [required] +} + +## Example + +```python +from sailpoint.nerm.models.automated_workflow import AutomatedWorkflow + +automated_workflow = AutomatedWorkflow( +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Enabled', +uid='my_uid', +name='my_workflow', +disable_failure_email_notifications=False, +condition_rules_attributes=[{type=ProfileTypeRule, condition_object_type=DateAttribute, comparison_operator===, logical_operator=AND, value=true}] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/AutomatedWorkflowConditionRulesAttributesInner.md b/sailpoint/nerm/docs/Models/AutomatedWorkflowConditionRulesAttributesInner.md new file mode 100644 index 000000000..f0b3b0e58 --- /dev/null +++ b/sailpoint/nerm/docs/Models/AutomatedWorkflowConditionRulesAttributesInner.md @@ -0,0 +1,49 @@ +--- +id: automated-workflow-condition-rules-attributes-inner +title: AutomatedWorkflowConditionRulesAttributesInner +pagination_label: AutomatedWorkflowConditionRulesAttributesInner +sidebar_label: AutomatedWorkflowConditionRulesAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'AutomatedWorkflowConditionRulesAttributesInner', 'AutomatedWorkflowConditionRulesAttributesInner'] +slug: /tools/sdk/python//models/automated-workflow-condition-rules-attributes-inner +tags: ['SDK', 'Software Development Kit', 'AutomatedWorkflowConditionRulesAttributesInner', 'AutomatedWorkflowConditionRulesAttributesInner'] +--- + +# AutomatedWorkflowConditionRulesAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**logical_operator** | **Enum** [ 'AND', 'OR' ] | The type of condition rule. | [required] +**comparison_operator** | **Enum** [ '<', '>', '==', 'before', 'include?', 'absent?', 'after' ] | The operator used by the condition rule. | [required] +**condition_object_id** | **str** | UUID for object targeted by the condition. | [optional] +**condition_object_type** | **str** | Type of object targeted by the condition. | [required] +**secondary_value** | **str** | Used for time_frame comparison. | [optional] +**tertiary_value** | **str** | Represents the days of a temporal comparison. | [optional] +**value** | **str** | The value being compared against. | [optional] +**order** | **int** | If there are multiple rules against one workflow, this is the order that they are ran in. | [optional] +**type** | **Enum** [ 'RiskRule', 'ProfileIdRule', 'ProfileTypeRule', 'ProfileExistsRule', 'ProfileStatusRule', 'SessionAttributeRule', 'ProfileAttributeRule', 'ProfileDoesNotExistRule', 'IdentityProofingRule' ] | The type of condition rule. | [required] +} + +## Example + +```python +from sailpoint.nerm.models.automated_workflow_condition_rules_attributes_inner import AutomatedWorkflowConditionRulesAttributesInner + +automated_workflow_condition_rules_attributes_inner = AutomatedWorkflowConditionRulesAttributesInner( +logical_operator='AND', +comparison_operator='==', +condition_object_id='cc844e99-9895-43d0-9d17-8f606b2158ba', +condition_object_type='DateAttribute', +secondary_value='before', +tertiary_value='before', +value='true', +order=1, +type='ProfileTypeRule' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/BatchUpdateAction.md b/sailpoint/nerm/docs/Models/BatchUpdateAction.md new file mode 100644 index 000000000..8f5abe2d5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/BatchUpdateAction.md @@ -0,0 +1,37 @@ +--- +id: batch-update-action +title: BatchUpdateAction +pagination_label: BatchUpdateAction +sidebar_label: BatchUpdateAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'BatchUpdateAction', 'BatchUpdateAction'] +slug: /tools/sdk/python//models/batch-update-action +tags: ['SDK', 'Software Development Kit', 'BatchUpdateAction', 'BatchUpdateAction'] +--- + +# BatchUpdateAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.batch_update_action import BatchUpdateAction + +batch_update_action = BatchUpdateAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Updates a batch of profiles with all attributes collected during the workflow.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/BatchWorkflow.md b/sailpoint/nerm/docs/Models/BatchWorkflow.md new file mode 100644 index 000000000..7df8ba911 --- /dev/null +++ b/sailpoint/nerm/docs/Models/BatchWorkflow.md @@ -0,0 +1,45 @@ +--- +id: batch-workflow +title: BatchWorkflow +pagination_label: BatchWorkflow +sidebar_label: BatchWorkflow +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'BatchWorkflow', 'BatchWorkflow'] +slug: /tools/sdk/python//models/batch-workflow +tags: ['SDK', 'Software Development Kit', 'BatchWorkflow', 'BatchWorkflow'] +--- + +# BatchWorkflow + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The profile type the workflow effects. | [required] +**status** | **Enum** [ 'Enabled', 'Disabled' ] | Whether or not the workflow is enabled or disabled. | [required] +**uid** | **str** | The user-specified identifier of the workflow. | [required] +**name** | **str** | Name of the workflow | [required] +**options** | [**BatchWorkflowOptions**](batch-workflow-options) | | [optional] +**disable_failure_email_notifications** | **bool** | When honored at runtime, suppresses failure email notifications for this workflow's sessions. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.batch_workflow import BatchWorkflow + +batch_workflow = BatchWorkflow( +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Enabled', +uid='my_uid', +name='my_workflow', +options=sailpoint.nerm.models.batch_workflow_options.BatchWorkflow_options( + all_profiles = 'true', + multiple_requests = 'false', ), +disable_failure_email_notifications=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/BatchWorkflowOptions.md b/sailpoint/nerm/docs/Models/BatchWorkflowOptions.md new file mode 100644 index 000000000..765463596 --- /dev/null +++ b/sailpoint/nerm/docs/Models/BatchWorkflowOptions.md @@ -0,0 +1,35 @@ +--- +id: batch-workflow-options +title: BatchWorkflowOptions +pagination_label: BatchWorkflowOptions +sidebar_label: BatchWorkflowOptions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'BatchWorkflowOptions', 'BatchWorkflowOptions'] +slug: /tools/sdk/python//models/batch-workflow-options +tags: ['SDK', 'Software Development Kit', 'BatchWorkflowOptions', 'BatchWorkflowOptions'] +--- + +# BatchWorkflowOptions + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**all_profiles** | **Enum** [ 'true', 'false' ] | Used for batch workflows. | [optional] +**multiple_requests** | **Enum** [ 'true', 'false' ] | Used for batch workflows for if multiple requests. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.batch_workflow_options import BatchWorkflowOptions + +batch_workflow_options = BatchWorkflowOptions( +all_profiles='true', +multiple_requests='false' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CloseSessionAction.md b/sailpoint/nerm/docs/Models/CloseSessionAction.md new file mode 100644 index 000000000..94f7d39df --- /dev/null +++ b/sailpoint/nerm/docs/Models/CloseSessionAction.md @@ -0,0 +1,37 @@ +--- +id: close-session-action +title: CloseSessionAction +pagination_label: CloseSessionAction +sidebar_label: CloseSessionAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CloseSessionAction', 'CloseSessionAction'] +slug: /tools/sdk/python//models/close-session-action +tags: ['SDK', 'Software Development Kit', 'CloseSessionAction', 'CloseSessionAction'] +--- + +# CloseSessionAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.close_session_action import CloseSessionAction + +close_session_action = CloseSessionAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Closes the current workflow session.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ContributorsAction.md b/sailpoint/nerm/docs/Models/ContributorsAction.md new file mode 100644 index 000000000..13d978e59 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ContributorsAction.md @@ -0,0 +1,43 @@ +--- +id: contributors-action +title: ContributorsAction +pagination_label: ContributorsAction +sidebar_label: ContributorsAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ContributorsAction', 'ContributorsAction'] +slug: /tools/sdk/python//models/contributors-action +tags: ['SDK', 'Software Development Kit', 'ContributorsAction', 'ContributorsAction'] +--- + +# ContributorsAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**owner** | **Enum** [ 'true', 'false' ] | If the assignment option should be an owner. Owner, Contributors, or Roles must be chosen. | [optional] +**contributors** | **Enum** [ 'true', 'false' ] | If the assignment option should be contributors. Owner, Contributors, or Roles must be chosen. | [optional] +**roles** | **Enum** [ 'true', 'false' ] | If the assignment option should be roles. Owner, Contributors, or Roles must be chosen. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.contributors_action import ContributorsAction + +contributors_action = ContributorsAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Have the requester determine the contributors or owner of the profile.', +owner='true', +contributors='true', +roles='true', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateApprovalAction200Response.md b/sailpoint/nerm/docs/Models/CreateApprovalAction200Response.md new file mode 100644 index 000000000..d80f7fca4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateApprovalAction200Response.md @@ -0,0 +1,43 @@ +--- +id: create-approval-action200-response +title: CreateApprovalAction200Response +pagination_label: CreateApprovalAction200Response +sidebar_label: CreateApprovalAction200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateApprovalAction200Response', 'CreateApprovalAction200Response'] +slug: /tools/sdk/python//models/create-approval-action200-response +tags: ['SDK', 'Software Development Kit', 'CreateApprovalAction200Response', 'CreateApprovalAction200Response'] +--- + +# CreateApprovalAction200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**WorkflowAction**](workflow-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response + +create_approval_action200_response = CreateApprovalAction200Response( +workflow_action=sailpoint.nerm.models.workflow_action.WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + add_requester_as_owner = True, + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + new_status = 'Active, Inactive, On Leave, Terminated', + archived = False, + skippable = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateApprovalActionRequest.md b/sailpoint/nerm/docs/Models/CreateApprovalActionRequest.md new file mode 100644 index 000000000..fe1f37faa --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateApprovalActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-approval-action-request +title: CreateApprovalActionRequest +pagination_label: CreateApprovalActionRequest +sidebar_label: CreateApprovalActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateApprovalActionRequest', 'CreateApprovalActionRequest'] +slug: /tools/sdk/python//models/create-approval-action-request +tags: ['SDK', 'Software Development Kit', 'CreateApprovalActionRequest', 'CreateApprovalActionRequest'] +--- + +# CreateApprovalActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**ApprovalAction**](approval-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_approval_action_request import CreateApprovalActionRequest + +create_approval_action_request = CreateApprovalActionRequest( +workflow_action=sailpoint.nerm.models.approval_action.ApprovalAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + skippable = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateAskSecurityQuestionActionRequest.md b/sailpoint/nerm/docs/Models/CreateAskSecurityQuestionActionRequest.md new file mode 100644 index 000000000..3af54339e --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateAskSecurityQuestionActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-ask-security-question-action-request +title: CreateAskSecurityQuestionActionRequest +pagination_label: CreateAskSecurityQuestionActionRequest +sidebar_label: CreateAskSecurityQuestionActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateAskSecurityQuestionActionRequest', 'CreateAskSecurityQuestionActionRequest'] +slug: /tools/sdk/python//models/create-ask-security-question-action-request +tags: ['SDK', 'Software Development Kit', 'CreateAskSecurityQuestionActionRequest', 'CreateAskSecurityQuestionActionRequest'] +--- + +# CreateAskSecurityQuestionActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**AskSecurityQuestionAction**](ask-security-question-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_ask_security_question_action_request import CreateAskSecurityQuestionActionRequest + +create_ask_security_question_action_request = CreateAskSecurityQuestionActionRequest( +workflow_action=sailpoint.nerm.models.ask_security_question_action.AskSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to answer some personal security questions.', + number_of_questions = 1, + token_expiration = 1, + token_expiration_type = 'days', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateAttribute201Response.md b/sailpoint/nerm/docs/Models/CreateAttribute201Response.md new file mode 100644 index 000000000..2677c7f15 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateAttribute201Response.md @@ -0,0 +1,79 @@ +--- +id: create-attribute201-response +title: CreateAttribute201Response +pagination_label: CreateAttribute201Response +sidebar_label: CreateAttribute201Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateAttribute201Response', 'CreateAttribute201Response'] +slug: /tools/sdk/python//models/create-attribute201-response +tags: ['SDK', 'Software Development Kit', 'CreateAttribute201Response', 'CreateAttribute201Response'] +--- + +# CreateAttribute201Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute** | [**Attribute**](attribute) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response + +create_attribute201_response = CreateAttribute201Response( +ne_attribute=sailpoint.nerm.models.attribute.Attribute( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateAttributeRequest.md b/sailpoint/nerm/docs/Models/CreateAttributeRequest.md new file mode 100644 index 000000000..43f326923 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateAttributeRequest.md @@ -0,0 +1,79 @@ +--- +id: create-attribute-request +title: CreateAttributeRequest +pagination_label: CreateAttributeRequest +sidebar_label: CreateAttributeRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateAttributeRequest', 'CreateAttributeRequest'] +slug: /tools/sdk/python//models/create-attribute-request +tags: ['SDK', 'Software Development Kit', 'CreateAttributeRequest', 'CreateAttributeRequest'] +--- + +# CreateAttributeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute** | [**Attribute1**](attribute1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest + +create_attribute_request = CreateAttributeRequest( +ne_attribute=sailpoint.nerm.models.attribute_1.Attribute_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + archived = False, + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', + validations_attributes = sailpoint.nerm.models.attribute_1_validations_attributes.Attribute_1_validations_attributes( + validation_method = 'required', + value = 'mm-dd-yyyy', + _destroy = False, ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateAutoAssignActionRequest.md b/sailpoint/nerm/docs/Models/CreateAutoAssignActionRequest.md new file mode 100644 index 000000000..e6a49d22d --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateAutoAssignActionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-auto-assign-action-request +title: CreateAutoAssignActionRequest +pagination_label: CreateAutoAssignActionRequest +sidebar_label: CreateAutoAssignActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateAutoAssignActionRequest', 'CreateAutoAssignActionRequest'] +slug: /tools/sdk/python//models/create-auto-assign-action-request +tags: ['SDK', 'Software Development Kit', 'CreateAutoAssignActionRequest', 'CreateAutoAssignActionRequest'] +--- + +# CreateAutoAssignActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**AutoAssignAction**](auto-assign-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_auto_assign_action_request import CreateAutoAssignActionRequest + +create_auto_assign_action_request = CreateAutoAssignActionRequest( +workflow_action=sailpoint.nerm.models.auto_assign_action.AutoAssignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Automatically assigns contributors to this profile.', + archived = False, + contributor_attr = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateAutomatedWorkflowRequest.md b/sailpoint/nerm/docs/Models/CreateAutomatedWorkflowRequest.md new file mode 100644 index 000000000..089977c82 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateAutomatedWorkflowRequest.md @@ -0,0 +1,39 @@ +--- +id: create-automated-workflow-request +title: CreateAutomatedWorkflowRequest +pagination_label: CreateAutomatedWorkflowRequest +sidebar_label: CreateAutomatedWorkflowRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateAutomatedWorkflowRequest', 'CreateAutomatedWorkflowRequest'] +slug: /tools/sdk/python//models/create-automated-workflow-request +tags: ['SDK', 'Software Development Kit', 'CreateAutomatedWorkflowRequest', 'CreateAutomatedWorkflowRequest'] +--- + +# CreateAutomatedWorkflowRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**AutomatedWorkflow**](automated-workflow) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_automated_workflow_request import CreateAutomatedWorkflowRequest + +create_automated_workflow_request = CreateAutomatedWorkflowRequest( +workflow=sailpoint.nerm.models.automated_workflow.AutomatedWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False, + condition_rules_attributes = [{type=ProfileTypeRule, condition_object_type=DateAttribute, comparison_operator===, logical_operator=AND, value=true}], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateBatchUpdateActionRequest.md b/sailpoint/nerm/docs/Models/CreateBatchUpdateActionRequest.md new file mode 100644 index 000000000..53362613d --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateBatchUpdateActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-batch-update-action-request +title: CreateBatchUpdateActionRequest +pagination_label: CreateBatchUpdateActionRequest +sidebar_label: CreateBatchUpdateActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateBatchUpdateActionRequest', 'CreateBatchUpdateActionRequest'] +slug: /tools/sdk/python//models/create-batch-update-action-request +tags: ['SDK', 'Software Development Kit', 'CreateBatchUpdateActionRequest', 'CreateBatchUpdateActionRequest'] +--- + +# CreateBatchUpdateActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**BatchUpdateAction**](batch-update-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_batch_update_action_request import CreateBatchUpdateActionRequest + +create_batch_update_action_request = CreateBatchUpdateActionRequest( +workflow_action=sailpoint.nerm.models.batch_update_action.BatchUpdateAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a batch of profiles with all attributes collected during the workflow.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateBatchWorkflowRequest.md b/sailpoint/nerm/docs/Models/CreateBatchWorkflowRequest.md new file mode 100644 index 000000000..7ef85b3d6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateBatchWorkflowRequest.md @@ -0,0 +1,41 @@ +--- +id: create-batch-workflow-request +title: CreateBatchWorkflowRequest +pagination_label: CreateBatchWorkflowRequest +sidebar_label: CreateBatchWorkflowRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateBatchWorkflowRequest', 'CreateBatchWorkflowRequest'] +slug: /tools/sdk/python//models/create-batch-workflow-request +tags: ['SDK', 'Software Development Kit', 'CreateBatchWorkflowRequest', 'CreateBatchWorkflowRequest'] +--- + +# CreateBatchWorkflowRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**BatchWorkflow**](batch-workflow) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_batch_workflow_request import CreateBatchWorkflowRequest + +create_batch_workflow_request = CreateBatchWorkflowRequest( +workflow=sailpoint.nerm.models.batch_workflow.BatchWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.batch_workflow_options.BatchWorkflow_options( + all_profiles = 'true', + multiple_requests = 'false', ), + disable_failure_email_notifications = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateCloseSessionActionRequest.md b/sailpoint/nerm/docs/Models/CreateCloseSessionActionRequest.md new file mode 100644 index 000000000..fc17b65f8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateCloseSessionActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-close-session-action-request +title: CreateCloseSessionActionRequest +pagination_label: CreateCloseSessionActionRequest +sidebar_label: CreateCloseSessionActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateCloseSessionActionRequest', 'CreateCloseSessionActionRequest'] +slug: /tools/sdk/python//models/create-close-session-action-request +tags: ['SDK', 'Software Development Kit', 'CreateCloseSessionActionRequest', 'CreateCloseSessionActionRequest'] +--- + +# CreateCloseSessionActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**CloseSessionAction**](close-session-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_close_session_action_request import CreateCloseSessionActionRequest + +create_close_session_action_request = CreateCloseSessionActionRequest( +workflow_action=sailpoint.nerm.models.close_session_action.CloseSessionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Closes the current workflow session.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateContributorsActionRequest.md b/sailpoint/nerm/docs/Models/CreateContributorsActionRequest.md new file mode 100644 index 000000000..57744a52e --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateContributorsActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-contributors-action-request +title: CreateContributorsActionRequest +pagination_label: CreateContributorsActionRequest +sidebar_label: CreateContributorsActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateContributorsActionRequest', 'CreateContributorsActionRequest'] +slug: /tools/sdk/python//models/create-contributors-action-request +tags: ['SDK', 'Software Development Kit', 'CreateContributorsActionRequest', 'CreateContributorsActionRequest'] +--- + +# CreateContributorsActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**ContributorsAction**](contributors-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_contributors_action_request import CreateContributorsActionRequest + +create_contributors_action_request = CreateContributorsActionRequest( +workflow_action=sailpoint.nerm.models.contributors_action.ContributorsAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the requester determine the contributors or owner of the profile.', + owner = 'true', + contributors = 'true', + roles = 'true', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateCreateProfileActionRequest.md b/sailpoint/nerm/docs/Models/CreateCreateProfileActionRequest.md new file mode 100644 index 000000000..4b5d6d46b --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateCreateProfileActionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-create-profile-action-request +title: CreateCreateProfileActionRequest +pagination_label: CreateCreateProfileActionRequest +sidebar_label: CreateCreateProfileActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateCreateProfileActionRequest', 'CreateCreateProfileActionRequest'] +slug: /tools/sdk/python//models/create-create-profile-action-request +tags: ['SDK', 'Software Development Kit', 'CreateCreateProfileActionRequest', 'CreateCreateProfileActionRequest'] +--- + +# CreateCreateProfileActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**CreateProfileAction**](create-profile-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_create_profile_action_request import CreateCreateProfileActionRequest + +create_create_profile_action_request = CreateCreateProfileActionRequest( +workflow_action=sailpoint.nerm.models.create_profile_action.CreateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a profile with all attributes collected during the workflow.', + add_requester_as_owner = True, + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateCreateWorkflow200Response.md b/sailpoint/nerm/docs/Models/CreateCreateWorkflow200Response.md new file mode 100644 index 000000000..0d99490b3 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateCreateWorkflow200Response.md @@ -0,0 +1,42 @@ +--- +id: create-create-workflow200-response +title: CreateCreateWorkflow200Response +pagination_label: CreateCreateWorkflow200Response +sidebar_label: CreateCreateWorkflow200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateCreateWorkflow200Response', 'CreateCreateWorkflow200Response'] +slug: /tools/sdk/python//models/create-create-workflow200-response +tags: ['SDK', 'Software Development Kit', 'CreateCreateWorkflow200Response', 'CreateCreateWorkflow200Response'] +--- + +# CreateCreateWorkflow200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**WorkflowSession**](workflow-session) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response + +create_create_workflow200_response = CreateCreateWorkflow200Response( +workflow=sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateCreateWorkflowRequest.md b/sailpoint/nerm/docs/Models/CreateCreateWorkflowRequest.md new file mode 100644 index 000000000..8bc290106 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateCreateWorkflowRequest.md @@ -0,0 +1,38 @@ +--- +id: create-create-workflow-request +title: CreateCreateWorkflowRequest +pagination_label: CreateCreateWorkflowRequest +sidebar_label: CreateCreateWorkflowRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateCreateWorkflowRequest', 'CreateCreateWorkflowRequest'] +slug: /tools/sdk/python//models/create-create-workflow-request +tags: ['SDK', 'Software Development Kit', 'CreateCreateWorkflowRequest', 'CreateCreateWorkflowRequest'] +--- + +# CreateCreateWorkflowRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**CreateWorkflow**](create-workflow) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest + +create_create_workflow_request = CreateCreateWorkflowRequest( +workflow=sailpoint.nerm.models.create_workflow.CreateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateDuplicatePreventionActionRequest.md b/sailpoint/nerm/docs/Models/CreateDuplicatePreventionActionRequest.md new file mode 100644 index 000000000..85ff9c012 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateDuplicatePreventionActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-duplicate-prevention-action-request +title: CreateDuplicatePreventionActionRequest +pagination_label: CreateDuplicatePreventionActionRequest +sidebar_label: CreateDuplicatePreventionActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateDuplicatePreventionActionRequest', 'CreateDuplicatePreventionActionRequest'] +slug: /tools/sdk/python//models/create-duplicate-prevention-action-request +tags: ['SDK', 'Software Development Kit', 'CreateDuplicatePreventionActionRequest', 'CreateDuplicatePreventionActionRequest'] +--- + +# CreateDuplicatePreventionActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**DuplicatePreventionAction**](duplicate-prevention-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_duplicate_prevention_action_request import CreateDuplicatePreventionActionRequest + +create_duplicate_prevention_action_request = CreateDuplicatePreventionActionRequest( +workflow_action=sailpoint.nerm.models.duplicate_prevention_action.DuplicatePreventionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows a user to select an already existing profile, or create a new one for the request.', + search_scope = 'current', + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateEmailVerificationActionRequest.md b/sailpoint/nerm/docs/Models/CreateEmailVerificationActionRequest.md new file mode 100644 index 000000000..5291a53bc --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateEmailVerificationActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-email-verification-action-request +title: CreateEmailVerificationActionRequest +pagination_label: CreateEmailVerificationActionRequest +sidebar_label: CreateEmailVerificationActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateEmailVerificationActionRequest', 'CreateEmailVerificationActionRequest'] +slug: /tools/sdk/python//models/create-email-verification-action-request +tags: ['SDK', 'Software Development Kit', 'CreateEmailVerificationActionRequest', 'CreateEmailVerificationActionRequest'] +--- + +# CreateEmailVerificationActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**EmailVerificationAction**](email-verification-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_email_verification_action_request import CreateEmailVerificationActionRequest + +create_email_verification_action_request = CreateEmailVerificationActionRequest( +workflow_action=sailpoint.nerm.models.email_verification_action.EmailVerificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user verify their email address.', + email_expiration = 20, + token_expiration = 1, + token_expiration_type = 'days', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateFormAttributeRequest.md b/sailpoint/nerm/docs/Models/CreateFormAttributeRequest.md new file mode 100644 index 000000000..94af0709e --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateFormAttributeRequest.md @@ -0,0 +1,37 @@ +--- +id: create-form-attribute-request +title: CreateFormAttributeRequest +pagination_label: CreateFormAttributeRequest +sidebar_label: CreateFormAttributeRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateFormAttributeRequest', 'CreateFormAttributeRequest'] +slug: /tools/sdk/python//models/create-form-attribute-request +tags: ['SDK', 'Software Development Kit', 'CreateFormAttributeRequest', 'CreateFormAttributeRequest'] +--- + +# CreateFormAttributeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**form_attribute** | [**FormAttributes**](form-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest + +create_form_attribute_request = CreateFormAttributeRequest( +form_attribute=sailpoint.nerm.models.form_attributes.FormAttributes( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateFormRequest.md b/sailpoint/nerm/docs/Models/CreateFormRequest.md new file mode 100644 index 000000000..6d5802220 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateFormRequest.md @@ -0,0 +1,39 @@ +--- +id: create-form-request +title: CreateFormRequest +pagination_label: CreateFormRequest +sidebar_label: CreateFormRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateFormRequest', 'CreateFormRequest'] +slug: /tools/sdk/python//models/create-form-request +tags: ['SDK', 'Software Development Kit', 'CreateFormRequest', 'CreateFormRequest'] +--- + +# CreateFormRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**forms** | [**[]Forms**](forms) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_form_request import CreateFormRequest + +create_form_request = CreateFormRequest( +forms=[ + sailpoint.nerm.models.forms.Forms( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateFulfillmentActionRequest.md b/sailpoint/nerm/docs/Models/CreateFulfillmentActionRequest.md new file mode 100644 index 000000000..18e8e0a97 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateFulfillmentActionRequest.md @@ -0,0 +1,38 @@ +--- +id: create-fulfillment-action-request +title: CreateFulfillmentActionRequest +pagination_label: CreateFulfillmentActionRequest +sidebar_label: CreateFulfillmentActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateFulfillmentActionRequest', 'CreateFulfillmentActionRequest'] +slug: /tools/sdk/python//models/create-fulfillment-action-request +tags: ['SDK', 'Software Development Kit', 'CreateFulfillmentActionRequest', 'CreateFulfillmentActionRequest'] +--- + +# CreateFulfillmentActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**FulfillmentAction**](fulfillment-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_fulfillment_action_request import CreateFulfillmentActionRequest + +create_fulfillment_action_request = CreateFulfillmentActionRequest( +workflow_action=sailpoint.nerm.models.fulfillment_action.FulfillmentAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have another user or group provide information for the profile.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateIdentityProofingActionRequest.md b/sailpoint/nerm/docs/Models/CreateIdentityProofingActionRequest.md new file mode 100644 index 000000000..624906d07 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateIdentityProofingActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-identity-proofing-action-request +title: CreateIdentityProofingActionRequest +pagination_label: CreateIdentityProofingActionRequest +sidebar_label: CreateIdentityProofingActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateIdentityProofingActionRequest', 'CreateIdentityProofingActionRequest'] +slug: /tools/sdk/python//models/create-identity-proofing-action-request +tags: ['SDK', 'Software Development Kit', 'CreateIdentityProofingActionRequest', 'CreateIdentityProofingActionRequest'] +--- + +# CreateIdentityProofingActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**IdentityProofingAction**](identity-proofing-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_identity_proofing_action_request import CreateIdentityProofingActionRequest + +create_identity_proofing_action_request = CreateIdentityProofingActionRequest( +workflow_action=sailpoint.nerm.models.identity_proofing_action.IdentityProofingAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user account associated with this profile validate the identity data.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateInvitationActionRequest.md b/sailpoint/nerm/docs/Models/CreateInvitationActionRequest.md new file mode 100644 index 000000000..75233c6f2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateInvitationActionRequest.md @@ -0,0 +1,50 @@ +--- +id: create-invitation-action-request +title: CreateInvitationActionRequest +pagination_label: CreateInvitationActionRequest +sidebar_label: CreateInvitationActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateInvitationActionRequest', 'CreateInvitationActionRequest'] +slug: /tools/sdk/python//models/create-invitation-action-request +tags: ['SDK', 'Software Development Kit', 'CreateInvitationActionRequest', 'CreateInvitationActionRequest'] +--- + +# CreateInvitationActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**InvitationAction**](invitation-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_invitation_action_request import CreateInvitationActionRequest + +create_invitation_action_request = CreateInvitationActionRequest( +workflow_action=sailpoint.nerm.models.invitation_action.InvitationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a registration session associated with an email address', + archived = False, + configuration_attributes = sailpoint.nerm.models.invitation_action_configuration_attributes.InvitationAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + return_profile = False, + portal_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + registration_workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + validate_completed_registration = False, + validate_open_registration = False, ), + workflow_action_email_attributes = sailpoint.nerm.models.invitation_action_workflow_action_email_attributes.InvitationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateLdapActionRequest.md b/sailpoint/nerm/docs/Models/CreateLdapActionRequest.md new file mode 100644 index 000000000..167a56192 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateLdapActionRequest.md @@ -0,0 +1,50 @@ +--- +id: create-ldap-action-request +title: CreateLdapActionRequest +pagination_label: CreateLdapActionRequest +sidebar_label: CreateLdapActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateLdapActionRequest', 'CreateLdapActionRequest'] +slug: /tools/sdk/python//models/create-ldap-action-request +tags: ['SDK', 'Software Development Kit', 'CreateLdapActionRequest', 'CreateLdapActionRequest'] +--- + +# CreateLdapActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**LdapAction**](ldap-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_ldap_action_request import CreateLdapActionRequest + +create_ldap_action_request = CreateLdapActionRequest( +workflow_action=sailpoint.nerm.models.ldap_action.LdapAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Create a Collaboration user account for this profile.', + archived = False, + store_type = 'Local', + ldap_action_user_roles_attributes = sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes.LdapAction_ldap_action_user_roles_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + role_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), + workflow_action_value_builders_attributes = sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes.LdapAction_workflow_action_value_builders_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + value_builder_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + position = 1, ), + workflow_action_directory_groups_attributes = sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes.LdapAction_workflow_action_directory_groups_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + directory_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + group_label = 'Admin', + group_dn = 'group', ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateLoginWorkflowRequest.md b/sailpoint/nerm/docs/Models/CreateLoginWorkflowRequest.md new file mode 100644 index 000000000..baeaa9298 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateLoginWorkflowRequest.md @@ -0,0 +1,40 @@ +--- +id: create-login-workflow-request +title: CreateLoginWorkflowRequest +pagination_label: CreateLoginWorkflowRequest +sidebar_label: CreateLoginWorkflowRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateLoginWorkflowRequest', 'CreateLoginWorkflowRequest'] +slug: /tools/sdk/python//models/create-login-workflow-request +tags: ['SDK', 'Software Development Kit', 'CreateLoginWorkflowRequest', 'CreateLoginWorkflowRequest'] +--- + +# CreateLoginWorkflowRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**LoginWorkflow**](login-workflow) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest + +create_login_workflow_request = CreateLoginWorkflowRequest( +workflow=sailpoint.nerm.models.login_workflow.LoginWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.login_workflow_options.LoginWorkflow_options( + expiration_time = 1, ), + disable_failure_email_notifications = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateNotificationActionRequest.md b/sailpoint/nerm/docs/Models/CreateNotificationActionRequest.md new file mode 100644 index 000000000..1fe6b8ef8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateNotificationActionRequest.md @@ -0,0 +1,43 @@ +--- +id: create-notification-action-request +title: CreateNotificationActionRequest +pagination_label: CreateNotificationActionRequest +sidebar_label: CreateNotificationActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateNotificationActionRequest', 'CreateNotificationActionRequest'] +slug: /tools/sdk/python//models/create-notification-action-request +tags: ['SDK', 'Software Development Kit', 'CreateNotificationActionRequest', 'CreateNotificationActionRequest'] +--- + +# CreateNotificationActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**NotificationAction**](notification-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_notification_action_request import CreateNotificationActionRequest + +create_notification_action_request = CreateNotificationActionRequest( +workflow_action=sailpoint.nerm.models.notification_action.NotificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Send a notification to a group of users.', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + archived = False, + workflow_action_email_attributes = sailpoint.nerm.models.notification_action_workflow_action_email_attributes.NotificationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePageContentRequest.md b/sailpoint/nerm/docs/Models/CreatePageContentRequest.md new file mode 100644 index 000000000..1c264f069 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePageContentRequest.md @@ -0,0 +1,36 @@ +--- +id: create-page-content-request +title: CreatePageContentRequest +pagination_label: CreatePageContentRequest +sidebar_label: CreatePageContentRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePageContentRequest', 'CreatePageContentRequest'] +slug: /tools/sdk/python//models/create-page-content-request +tags: ['SDK', 'Software Development Kit', 'CreatePageContentRequest', 'CreatePageContentRequest'] +--- + +# CreatePageContentRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_content** | [**PageContent1**](page-content1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest + +create_page_content_request = CreatePageContentRequest( +page_content=sailpoint.nerm.models.page_content_1.PageContent_1( + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePageContentTranslationRequest.md b/sailpoint/nerm/docs/Models/CreatePageContentTranslationRequest.md new file mode 100644 index 000000000..1aacf501f --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePageContentTranslationRequest.md @@ -0,0 +1,38 @@ +--- +id: create-page-content-translation-request +title: CreatePageContentTranslationRequest +pagination_label: CreatePageContentTranslationRequest +sidebar_label: CreatePageContentTranslationRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePageContentTranslationRequest', 'CreatePageContentTranslationRequest'] +slug: /tools/sdk/python//models/create-page-content-translation-request +tags: ['SDK', 'Software Development Kit', 'CreatePageContentTranslationRequest', 'CreatePageContentTranslationRequest'] +--- + +# CreatePageContentTranslationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_content_translation** | [**PageContentTranslation1**](page-content-translation1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_page_content_translation_request import CreatePageContentTranslationRequest + +create_page_content_translation_request = CreatePageContentTranslationRequest( +page_content_translation=sailpoint.nerm.models.page_content_translation_1.PageContentTranslation_1( + uid = 'page_content_translation_spanish_great', + page_content_uid = '', + page_content_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + locale = 'es-ES', + value = 'Es stupendo!', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePageElementRequest.md b/sailpoint/nerm/docs/Models/CreatePageElementRequest.md new file mode 100644 index 000000000..119e094cb --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePageElementRequest.md @@ -0,0 +1,41 @@ +--- +id: create-page-element-request +title: CreatePageElementRequest +pagination_label: CreatePageElementRequest +sidebar_label: CreatePageElementRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePageElementRequest', 'CreatePageElementRequest'] +slug: /tools/sdk/python//models/create-page-element-request +tags: ['SDK', 'Software Development Kit', 'CreatePageElementRequest', 'CreatePageElementRequest'] +--- + +# CreatePageElementRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_element** | [**PageElement1**](page-element1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest + +create_page_element_request = CreatePageElementRequest( +page_element=sailpoint.nerm.models.page_element_1.PageElement_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePasswordResetActionRequest.md b/sailpoint/nerm/docs/Models/CreatePasswordResetActionRequest.md new file mode 100644 index 000000000..86b72b7f0 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePasswordResetActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-password-reset-action-request +title: CreatePasswordResetActionRequest +pagination_label: CreatePasswordResetActionRequest +sidebar_label: CreatePasswordResetActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePasswordResetActionRequest', 'CreatePasswordResetActionRequest'] +slug: /tools/sdk/python//models/create-password-reset-action-request +tags: ['SDK', 'Software Development Kit', 'CreatePasswordResetActionRequest', 'CreatePasswordResetActionRequest'] +--- + +# CreatePasswordResetActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**PasswordResetAction**](password-reset-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_password_reset_action_request import CreatePasswordResetActionRequest + +create_password_reset_action_request = CreatePasswordResetActionRequest( +workflow_action=sailpoint.nerm.models.password_reset_action.PasswordResetAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to reset their password.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePermission200Response.md b/sailpoint/nerm/docs/Models/CreatePermission200Response.md new file mode 100644 index 000000000..024994cbf --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePermission200Response.md @@ -0,0 +1,38 @@ +--- +id: create-permission200-response +title: CreatePermission200Response +pagination_label: CreatePermission200Response +sidebar_label: CreatePermission200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePermission200Response', 'CreatePermission200Response'] +slug: /tools/sdk/python//models/create-permission200-response +tags: ['SDK', 'Software Development Kit', 'CreatePermission200Response', 'CreatePermission200Response'] +--- + +# CreatePermission200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission** | [**Permission**](permission) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_permission200_response import CreatePermission200Response + +create_permission200_response = CreatePermission200Response( +permission=sailpoint.nerm.models.permission.Permission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreatePermissionRequest.md b/sailpoint/nerm/docs/Models/CreatePermissionRequest.md new file mode 100644 index 000000000..ffd9ef0ba --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreatePermissionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-permission-request +title: CreatePermissionRequest +pagination_label: CreatePermissionRequest +sidebar_label: CreatePermissionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreatePermissionRequest', 'CreatePermissionRequest'] +slug: /tools/sdk/python//models/create-permission-request +tags: ['SDK', 'Software Development Kit', 'CreatePermissionRequest', 'CreatePermissionRequest'] +--- + +# CreatePermissionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission** | [**Permission1**](permission1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_permission_request import CreatePermissionRequest + +create_permission_request = CreatePermissionRequest( +permission=sailpoint.nerm.models.permission_1.Permission_1( + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfileAction.md b/sailpoint/nerm/docs/Models/CreateProfileAction.md new file mode 100644 index 000000000..59969ac72 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfileAction.md @@ -0,0 +1,39 @@ +--- +id: create-profile-action +title: CreateProfileAction +pagination_label: CreateProfileAction +sidebar_label: CreateProfileAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfileAction', 'CreateProfileAction'] +slug: /tools/sdk/python//models/create-profile-action +tags: ['SDK', 'Software Development Kit', 'CreateProfileAction', 'CreateProfileAction'] +--- + +# CreateProfileAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**add_requester_as_owner** | **bool** | If the requester should be added as the owner of the profile to be created. | [optional] [default to True] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_action import CreateProfileAction + +create_profile_action = CreateProfileAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Creates a profile with all attributes collected during the workflow.', +add_requester_as_owner=True, +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfileCheckActionRequest.md b/sailpoint/nerm/docs/Models/CreateProfileCheckActionRequest.md new file mode 100644 index 000000000..cf963f06c --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfileCheckActionRequest.md @@ -0,0 +1,39 @@ +--- +id: create-profile-check-action-request +title: CreateProfileCheckActionRequest +pagination_label: CreateProfileCheckActionRequest +sidebar_label: CreateProfileCheckActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfileCheckActionRequest', 'CreateProfileCheckActionRequest'] +slug: /tools/sdk/python//models/create-profile-check-action-request +tags: ['SDK', 'Software Development Kit', 'CreateProfileCheckActionRequest', 'CreateProfileCheckActionRequest'] +--- + +# CreateProfileCheckActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**ProfileCheckAction**](profile-check-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_check_action_request import CreateProfileCheckActionRequest + +create_profile_check_action_request = CreateProfileCheckActionRequest( +workflow_action=sailpoint.nerm.models.profile_check_action.ProfileCheckAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Finds a profile based on selected attributes and values found in the session.', + archived = False, + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_type = 'session', + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfilePage200Response.md b/sailpoint/nerm/docs/Models/CreateProfilePage200Response.md new file mode 100644 index 000000000..5fc620d0f --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfilePage200Response.md @@ -0,0 +1,38 @@ +--- +id: create-profile-page200-response +title: CreateProfilePage200Response +pagination_label: CreateProfilePage200Response +sidebar_label: CreateProfilePage200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfilePage200Response', 'CreateProfilePage200Response'] +slug: /tools/sdk/python//models/create-profile-page200-response +tags: ['SDK', 'Software Development Kit', 'CreateProfilePage200Response', 'CreateProfilePage200Response'] +--- + +# CreateProfilePage200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page** | [**Pages**](pages) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response + +create_profile_page200_response = CreateProfilePage200Response( +page=sailpoint.nerm.models.pages.Pages( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfilePageRequest.md b/sailpoint/nerm/docs/Models/CreateProfilePageRequest.md new file mode 100644 index 000000000..3a5db44f2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfilePageRequest.md @@ -0,0 +1,37 @@ +--- +id: create-profile-page-request +title: CreateProfilePageRequest +pagination_label: CreateProfilePageRequest +sidebar_label: CreateProfilePageRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfilePageRequest', 'CreateProfilePageRequest'] +slug: /tools/sdk/python//models/create-profile-page-request +tags: ['SDK', 'Software Development Kit', 'CreateProfilePageRequest', 'CreateProfilePageRequest'] +--- + +# CreateProfilePageRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page** | [**ProfilePage**](profile-page) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_page_request import CreateProfilePageRequest + +create_profile_page_request = CreateProfilePageRequest( +page=sailpoint.nerm.models.profile_page.ProfilePage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfileSelectActionRequest.md b/sailpoint/nerm/docs/Models/CreateProfileSelectActionRequest.md new file mode 100644 index 000000000..d5490e08b --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfileSelectActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-profile-select-action-request +title: CreateProfileSelectActionRequest +pagination_label: CreateProfileSelectActionRequest +sidebar_label: CreateProfileSelectActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfileSelectActionRequest', 'CreateProfileSelectActionRequest'] +slug: /tools/sdk/python//models/create-profile-select-action-request +tags: ['SDK', 'Software Development Kit', 'CreateProfileSelectActionRequest', 'CreateProfileSelectActionRequest'] +--- + +# CreateProfileSelectActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**ProfileSelectAction**](profile-select-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_select_action_request import CreateProfileSelectActionRequest + +create_profile_select_action_request = CreateProfileSelectActionRequest( +workflow_action=sailpoint.nerm.models.profile_select_action.ProfileSelectAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Select the profiles that you want to run this workflow for.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfileTypeRole200Response.md b/sailpoint/nerm/docs/Models/CreateProfileTypeRole200Response.md new file mode 100644 index 000000000..4c899d362 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfileTypeRole200Response.md @@ -0,0 +1,36 @@ +--- +id: create-profile-type-role200-response +title: CreateProfileTypeRole200Response +pagination_label: CreateProfileTypeRole200Response +sidebar_label: CreateProfileTypeRole200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfileTypeRole200Response', 'CreateProfileTypeRole200Response'] +slug: /tools/sdk/python//models/create-profile-type-role200-response +tags: ['SDK', 'Software Development Kit', 'CreateProfileTypeRole200Response', 'CreateProfileTypeRole200Response'] +--- + +# CreateProfileTypeRole200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_roles** | [**ProfileTypeRoles**](profile-type-roles) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_type_role200_response import CreateProfileTypeRole200Response + +create_profile_type_role200_response = CreateProfileTypeRole200Response( +profile_type_roles=sailpoint.nerm.models.profile_type_roles.ProfileTypeRoles( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862', + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfileTypeRoleRequest.md b/sailpoint/nerm/docs/Models/CreateProfileTypeRoleRequest.md new file mode 100644 index 000000000..10c2f3a24 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfileTypeRoleRequest.md @@ -0,0 +1,35 @@ +--- +id: create-profile-type-role-request +title: CreateProfileTypeRoleRequest +pagination_label: CreateProfileTypeRoleRequest +sidebar_label: CreateProfileTypeRoleRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfileTypeRoleRequest', 'CreateProfileTypeRoleRequest'] +slug: /tools/sdk/python//models/create-profile-type-role-request +tags: ['SDK', 'Software Development Kit', 'CreateProfileTypeRoleRequest', 'CreateProfileTypeRoleRequest'] +--- + +# CreateProfileTypeRoleRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_role** | [**ProfileTypeRoles1**](profile-type-roles1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profile_type_role_request import CreateProfileTypeRoleRequest + +create_profile_type_role_request = CreateProfileTypeRoleRequest( +profile_type_role=sailpoint.nerm.models.profile_type_roles_1.ProfileTypeRoles_1( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateProfilesRequest.md b/sailpoint/nerm/docs/Models/CreateProfilesRequest.md new file mode 100644 index 000000000..b15a8c298 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateProfilesRequest.md @@ -0,0 +1,41 @@ +--- +id: create-profiles-request +title: CreateProfilesRequest +pagination_label: CreateProfilesRequest +sidebar_label: CreateProfilesRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateProfilesRequest', 'CreateProfilesRequest'] +slug: /tools/sdk/python//models/create-profiles-request +tags: ['SDK', 'Software Development Kit', 'CreateProfilesRequest', 'CreateProfilesRequest'] +--- + +# CreateProfilesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**[]Profile1**](profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest + +create_profiles_request = CreateProfilesRequest( +profiles=[ + sailpoint.nerm.models.profile_1.Profile_1( + name = 'First Last', + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + id_proofing_status = 'pass', + archived = False, + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateRequestActionRequest.md b/sailpoint/nerm/docs/Models/CreateRequestActionRequest.md new file mode 100644 index 000000000..e6112ddcb --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateRequestActionRequest.md @@ -0,0 +1,38 @@ +--- +id: create-request-action-request +title: CreateRequestActionRequest +pagination_label: CreateRequestActionRequest +sidebar_label: CreateRequestActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateRequestActionRequest', 'CreateRequestActionRequest'] +slug: /tools/sdk/python//models/create-request-action-request +tags: ['SDK', 'Software Development Kit', 'CreateRequestActionRequest', 'CreateRequestActionRequest'] +--- + +# CreateRequestActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**RequestAction**](request-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_request_action_request import CreateRequestActionRequest + +create_request_action_request = CreateRequestActionRequest( +workflow_action=sailpoint.nerm.models.request_action.RequestAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Provides the requester a page with forms.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateRestApiActionRequest.md b/sailpoint/nerm/docs/Models/CreateRestApiActionRequest.md new file mode 100644 index 000000000..1bc50db0a --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateRestApiActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-rest-api-action-request +title: CreateRestApiActionRequest +pagination_label: CreateRestApiActionRequest +sidebar_label: CreateRestApiActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateRestApiActionRequest', 'CreateRestApiActionRequest'] +slug: /tools/sdk/python//models/create-rest-api-action-request +tags: ['SDK', 'Software Development Kit', 'CreateRestApiActionRequest', 'CreateRestApiActionRequest'] +--- + +# CreateRestApiActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**RestApiAction**](rest-api-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_rest_api_action_request import CreateRestApiActionRequest + +create_rest_api_action_request = CreateRestApiActionRequest( +workflow_action=sailpoint.nerm.models.rest_api_action.RestApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a Restful API.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateReviewActionRequest.md b/sailpoint/nerm/docs/Models/CreateReviewActionRequest.md new file mode 100644 index 000000000..d18c42d1d --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateReviewActionRequest.md @@ -0,0 +1,38 @@ +--- +id: create-review-action-request +title: CreateReviewActionRequest +pagination_label: CreateReviewActionRequest +sidebar_label: CreateReviewActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateReviewActionRequest', 'CreateReviewActionRequest'] +slug: /tools/sdk/python//models/create-review-action-request +tags: ['SDK', 'Software Development Kit', 'CreateReviewActionRequest', 'CreateReviewActionRequest'] +--- + +# CreateReviewActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**ReviewAction**](review-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_review_action_request import CreateReviewActionRequest + +create_review_action_request = CreateReviewActionRequest( +workflow_action=sailpoint.nerm.models.review_action.ReviewAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows the requester to review.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateRunWorkflowActionRequest.md b/sailpoint/nerm/docs/Models/CreateRunWorkflowActionRequest.md new file mode 100644 index 000000000..3e2e3a04a --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateRunWorkflowActionRequest.md @@ -0,0 +1,44 @@ +--- +id: create-run-workflow-action-request +title: CreateRunWorkflowActionRequest +pagination_label: CreateRunWorkflowActionRequest +sidebar_label: CreateRunWorkflowActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateRunWorkflowActionRequest', 'CreateRunWorkflowActionRequest'] +slug: /tools/sdk/python//models/create-run-workflow-action-request +tags: ['SDK', 'Software Development Kit', 'CreateRunWorkflowActionRequest', 'CreateRunWorkflowActionRequest'] +--- + +# CreateRunWorkflowActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**RunWorkflowAction**](run-workflow-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_run_workflow_action_request import CreateRunWorkflowActionRequest + +create_run_workflow_action_request = CreateRunWorkflowActionRequest( +workflow_action=sailpoint.nerm.models.run_workflow_action.RunWorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Runs another workflow with the ability to pass data in between.', + archived = False, + configuration_attributes = sailpoint.nerm.models.run_workflow_action_configuration_attributes.RunWorkflowAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + profile_to_send = 'current', + return_profile = False, + run_workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSetAttributesActionRequest.md b/sailpoint/nerm/docs/Models/CreateSetAttributesActionRequest.md new file mode 100644 index 000000000..b6ee14ce9 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSetAttributesActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-set-attributes-action-request +title: CreateSetAttributesActionRequest +pagination_label: CreateSetAttributesActionRequest +sidebar_label: CreateSetAttributesActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSetAttributesActionRequest', 'CreateSetAttributesActionRequest'] +slug: /tools/sdk/python//models/create-set-attributes-action-request +tags: ['SDK', 'Software Development Kit', 'CreateSetAttributesActionRequest', 'CreateSetAttributesActionRequest'] +--- + +# CreateSetAttributesActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**SetAttributesAction**](set-attributes-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_set_attributes_action_request import CreateSetAttributesActionRequest + +create_set_attributes_action_request = CreateSetAttributesActionRequest( +workflow_action=sailpoint.nerm.models.set_attributes_action.SetAttributesAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Set attribute(s) to a specific value.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSetSecurityQuestionActionRequest.md b/sailpoint/nerm/docs/Models/CreateSetSecurityQuestionActionRequest.md new file mode 100644 index 000000000..730636d1f --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSetSecurityQuestionActionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-set-security-question-action-request +title: CreateSetSecurityQuestionActionRequest +pagination_label: CreateSetSecurityQuestionActionRequest +sidebar_label: CreateSetSecurityQuestionActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSetSecurityQuestionActionRequest', 'CreateSetSecurityQuestionActionRequest'] +slug: /tools/sdk/python//models/create-set-security-question-action-request +tags: ['SDK', 'Software Development Kit', 'CreateSetSecurityQuestionActionRequest', 'CreateSetSecurityQuestionActionRequest'] +--- + +# CreateSetSecurityQuestionActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**SetSecurityQuestionAction**](set-security-question-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_set_security_question_action_request import CreateSetSecurityQuestionActionRequest + +create_set_security_question_action_request = CreateSetSecurityQuestionActionRequest( +workflow_action=sailpoint.nerm.models.set_security_question_action.SetSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to provide some personal security questions and answers.', + archived = False, + number_of_questions = 1, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSoapApiActionRequest.md b/sailpoint/nerm/docs/Models/CreateSoapApiActionRequest.md new file mode 100644 index 000000000..98f524bee --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSoapApiActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-soap-api-action-request +title: CreateSoapApiActionRequest +pagination_label: CreateSoapApiActionRequest +sidebar_label: CreateSoapApiActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSoapApiActionRequest', 'CreateSoapApiActionRequest'] +slug: /tools/sdk/python//models/create-soap-api-action-request +tags: ['SDK', 'Software Development Kit', 'CreateSoapApiActionRequest', 'CreateSoapApiActionRequest'] +--- + +# CreateSoapApiActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**SoapApiAction**](soap-api-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_soap_api_action_request import CreateSoapApiActionRequest + +create_soap_api_action_request = CreateSoapApiActionRequest( +workflow_action=sailpoint.nerm.models.soap_api_action.SoapApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a SOAP API.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateStatusChangeActionRequest.md b/sailpoint/nerm/docs/Models/CreateStatusChangeActionRequest.md new file mode 100644 index 000000000..235b4fab4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateStatusChangeActionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-status-change-action-request +title: CreateStatusChangeActionRequest +pagination_label: CreateStatusChangeActionRequest +sidebar_label: CreateStatusChangeActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateStatusChangeActionRequest', 'CreateStatusChangeActionRequest'] +slug: /tools/sdk/python//models/create-status-change-action-request +tags: ['SDK', 'Software Development Kit', 'CreateStatusChangeActionRequest', 'CreateStatusChangeActionRequest'] +--- + +# CreateStatusChangeActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**StatusChangeAction**](status-change-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_status_change_action_request import CreateStatusChangeActionRequest + +create_status_change_action_request = CreateStatusChangeActionRequest( +workflow_action=sailpoint.nerm.models.status_change_action.StatusChangeAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Changes the status of a non-employee.', + new_status = 'Active', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSyncedAttribute201Response.md b/sailpoint/nerm/docs/Models/CreateSyncedAttribute201Response.md new file mode 100644 index 000000000..7323c166c --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSyncedAttribute201Response.md @@ -0,0 +1,36 @@ +--- +id: create-synced-attribute201-response +title: CreateSyncedAttribute201Response +pagination_label: CreateSyncedAttribute201Response +sidebar_label: CreateSyncedAttribute201Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSyncedAttribute201Response', 'CreateSyncedAttribute201Response'] +slug: /tools/sdk/python//models/create-synced-attribute201-response +tags: ['SDK', 'Software Development Kit', 'CreateSyncedAttribute201Response', 'CreateSyncedAttribute201Response'] +--- + +# CreateSyncedAttribute201Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**synced_attribute** | [**SyncedAttribute**](synced-attribute) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_synced_attribute201_response import CreateSyncedAttribute201Response + +create_synced_attribute201_response = CreateSyncedAttribute201Response( +synced_attribute=sailpoint.nerm.models.synced_attribute.SyncedAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + profile_type_id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + ne_attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSystemRolePermission200Response.md b/sailpoint/nerm/docs/Models/CreateSystemRolePermission200Response.md new file mode 100644 index 000000000..7cb5c3eb6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSystemRolePermission200Response.md @@ -0,0 +1,38 @@ +--- +id: create-system-role-permission200-response +title: CreateSystemRolePermission200Response +pagination_label: CreateSystemRolePermission200Response +sidebar_label: CreateSystemRolePermission200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSystemRolePermission200Response', 'CreateSystemRolePermission200Response'] +slug: /tools/sdk/python//models/create-system-role-permission200-response +tags: ['SDK', 'Software Development Kit', 'CreateSystemRolePermission200Response', 'CreateSystemRolePermission200Response'] +--- + +# CreateSystemRolePermission200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**system_role_permission** | [**SystemRolePermission**](system-role-permission) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_system_role_permission200_response import CreateSystemRolePermission200Response + +create_system_role_permission200_response = CreateSystemRolePermission200Response( +system_role_permission=sailpoint.nerm.models.system_role_permission.SystemRolePermission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateSystemRolePermissionRequest.md b/sailpoint/nerm/docs/Models/CreateSystemRolePermissionRequest.md new file mode 100644 index 000000000..6d19e4270 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateSystemRolePermissionRequest.md @@ -0,0 +1,37 @@ +--- +id: create-system-role-permission-request +title: CreateSystemRolePermissionRequest +pagination_label: CreateSystemRolePermissionRequest +sidebar_label: CreateSystemRolePermissionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateSystemRolePermissionRequest', 'CreateSystemRolePermissionRequest'] +slug: /tools/sdk/python//models/create-system-role-permission-request +tags: ['SDK', 'Software Development Kit', 'CreateSystemRolePermissionRequest', 'CreateSystemRolePermissionRequest'] +--- + +# CreateSystemRolePermissionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**system_role_permission** | [**SystemRolePermission1**](system-role-permission1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_system_role_permission_request import CreateSystemRolePermissionRequest + +create_system_role_permission_request = CreateSystemRolePermissionRequest( +system_role_permission=sailpoint.nerm.models.system_role_permission_1.SystemRolePermission_1( + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUnassignActionRequest.md b/sailpoint/nerm/docs/Models/CreateUnassignActionRequest.md new file mode 100644 index 000000000..ad343bc9b --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUnassignActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-unassign-action-request +title: CreateUnassignActionRequest +pagination_label: CreateUnassignActionRequest +sidebar_label: CreateUnassignActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUnassignActionRequest', 'CreateUnassignActionRequest'] +slug: /tools/sdk/python//models/create-unassign-action-request +tags: ['SDK', 'Software Development Kit', 'CreateUnassignActionRequest', 'CreateUnassignActionRequest'] +--- + +# CreateUnassignActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**UnassignAction**](unassign-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_unassign_action_request import CreateUnassignActionRequest + +create_unassign_action_request = CreateUnassignActionRequest( +workflow_action=sailpoint.nerm.models.unassign_action.UnassignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Un-assigns roles from a profile.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUpdateProfileActionRequest.md b/sailpoint/nerm/docs/Models/CreateUpdateProfileActionRequest.md new file mode 100644 index 000000000..a40b2f79e --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUpdateProfileActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-update-profile-action-request +title: CreateUpdateProfileActionRequest +pagination_label: CreateUpdateProfileActionRequest +sidebar_label: CreateUpdateProfileActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUpdateProfileActionRequest', 'CreateUpdateProfileActionRequest'] +slug: /tools/sdk/python//models/create-update-profile-action-request +tags: ['SDK', 'Software Development Kit', 'CreateUpdateProfileActionRequest', 'CreateUpdateProfileActionRequest'] +--- + +# CreateUpdateProfileActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**UpdateProfileAction**](update-profile-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_update_profile_action_request import CreateUpdateProfileActionRequest + +create_update_profile_action_request = CreateUpdateProfileActionRequest( +workflow_action=sailpoint.nerm.models.update_profile_action.UpdateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a profile with all attributes collected during the workflow.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUpdateWorkflowRequest.md b/sailpoint/nerm/docs/Models/CreateUpdateWorkflowRequest.md new file mode 100644 index 000000000..c47afafd3 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUpdateWorkflowRequest.md @@ -0,0 +1,39 @@ +--- +id: create-update-workflow-request +title: CreateUpdateWorkflowRequest +pagination_label: CreateUpdateWorkflowRequest +sidebar_label: CreateUpdateWorkflowRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUpdateWorkflowRequest', 'CreateUpdateWorkflowRequest'] +slug: /tools/sdk/python//models/create-update-workflow-request +tags: ['SDK', 'Software Development Kit', 'CreateUpdateWorkflowRequest', 'CreateUpdateWorkflowRequest'] +--- + +# CreateUpdateWorkflowRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow** | [**UpdateWorkflow**](update-workflow) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_update_workflow_request import CreateUpdateWorkflowRequest + +create_update_workflow_request = CreateUpdateWorkflowRequest( +workflow=sailpoint.nerm.models.update_workflow.UpdateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + profile_status = 'active', + disable_failure_email_notifications = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUserProfiles200Response.md b/sailpoint/nerm/docs/Models/CreateUserProfiles200Response.md new file mode 100644 index 000000000..a2b40fa57 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUserProfiles200Response.md @@ -0,0 +1,49 @@ +--- +id: create-user-profiles200-response +title: CreateUserProfiles200Response +pagination_label: CreateUserProfiles200Response +sidebar_label: CreateUserProfiles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUserProfiles200Response', 'CreateUserProfiles200Response'] +slug: /tools/sdk/python//models/create-user-profiles200-response +tags: ['SDK', 'Software Development Kit', 'CreateUserProfiles200Response', 'CreateUserProfiles200Response'] +--- + +# CreateUserProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profiles** | [**[]UserProfile**](user-profile) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response + +create_user_profiles200_response = CreateUserProfiles200Response( +user_profiles=[ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUserProfilesRequest.md b/sailpoint/nerm/docs/Models/CreateUserProfilesRequest.md new file mode 100644 index 000000000..489bd84bd --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUserProfilesRequest.md @@ -0,0 +1,39 @@ +--- +id: create-user-profiles-request +title: CreateUserProfilesRequest +pagination_label: CreateUserProfilesRequest +sidebar_label: CreateUserProfilesRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUserProfilesRequest', 'CreateUserProfilesRequest'] +slug: /tools/sdk/python//models/create-user-profiles-request +tags: ['SDK', 'Software Development Kit', 'CreateUserProfilesRequest', 'CreateUserProfilesRequest'] +--- + +# CreateUserProfilesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profiles** | [**[]UserProfile1**](user-profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest + +create_user_profiles_request = CreateUserProfilesRequest( +user_profiles=[ + sailpoint.nerm.models.user_profile_1.UserProfile_1( + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateUsernamePasswordActionRequest.md b/sailpoint/nerm/docs/Models/CreateUsernamePasswordActionRequest.md new file mode 100644 index 000000000..1e54ce7a2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateUsernamePasswordActionRequest.md @@ -0,0 +1,36 @@ +--- +id: create-username-password-action-request +title: CreateUsernamePasswordActionRequest +pagination_label: CreateUsernamePasswordActionRequest +sidebar_label: CreateUsernamePasswordActionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateUsernamePasswordActionRequest', 'CreateUsernamePasswordActionRequest'] +slug: /tools/sdk/python//models/create-username-password-action-request +tags: ['SDK', 'Software Development Kit', 'CreateUsernamePasswordActionRequest', 'CreateUsernamePasswordActionRequest'] +--- + +# CreateUsernamePasswordActionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action** | [**UsernamePasswordAction**](username-password-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_username_password_action_request import CreateUsernamePasswordActionRequest + +create_username_password_action_request = CreateUsernamePasswordActionRequest( +workflow_action=sailpoint.nerm.models.username_password_action.UsernamePasswordAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user for their username and password.', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateWorkflow.md b/sailpoint/nerm/docs/Models/CreateWorkflow.md new file mode 100644 index 000000000..ce1dcaaf8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateWorkflow.md @@ -0,0 +1,41 @@ +--- +id: create-workflow +title: CreateWorkflow +pagination_label: CreateWorkflow +sidebar_label: CreateWorkflow +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateWorkflow', 'CreateWorkflow'] +slug: /tools/sdk/python//models/create-workflow +tags: ['SDK', 'Software Development Kit', 'CreateWorkflow', 'CreateWorkflow'] +--- + +# CreateWorkflow + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The profile type the workflow effects. | [required] +**status** | **Enum** [ 'Enabled', 'Disabled' ] | Whether or not the workflow is enabled or disabled. | [required] +**uid** | **str** | The user-specified identifier of the workflow. | [required] +**name** | **str** | Name of the workflow | [required] +**disable_failure_email_notifications** | **bool** | When honored at runtime, suppresses failure email notifications for this workflow's sessions. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_workflow import CreateWorkflow + +create_workflow = CreateWorkflow( +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Enabled', +uid='my_uid', +name='my_workflow', +disable_failure_email_notifications=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformer200Response.md b/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformer200Response.md new file mode 100644 index 000000000..6177d8306 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformer200Response.md @@ -0,0 +1,42 @@ +--- +id: create-workflow-action-performer200-response +title: CreateWorkflowActionPerformer200Response +pagination_label: CreateWorkflowActionPerformer200Response +sidebar_label: CreateWorkflowActionPerformer200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateWorkflowActionPerformer200Response', 'CreateWorkflowActionPerformer200Response'] +slug: /tools/sdk/python//models/create-workflow-action-performer200-response +tags: ['SDK', 'Software Development Kit', 'CreateWorkflowActionPerformer200Response', 'CreateWorkflowActionPerformer200Response'] +--- + +# CreateWorkflowActionPerformer200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action_performer** | [**WorkflowActionPerformers**](workflow-action-performers) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_workflow_action_performer200_response import CreateWorkflowActionPerformer200Response + +create_workflow_action_performer200_response = CreateWorkflowActionPerformer200Response( +workflow_action_performer=sailpoint.nerm.models.workflow_action_performers.WorkflowActionPerformers( + id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformerRequest.md b/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformerRequest.md new file mode 100644 index 000000000..59981a02b --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateWorkflowActionPerformerRequest.md @@ -0,0 +1,41 @@ +--- +id: create-workflow-action-performer-request +title: CreateWorkflowActionPerformerRequest +pagination_label: CreateWorkflowActionPerformerRequest +sidebar_label: CreateWorkflowActionPerformerRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateWorkflowActionPerformerRequest', 'CreateWorkflowActionPerformerRequest'] +slug: /tools/sdk/python//models/create-workflow-action-performer-request +tags: ['SDK', 'Software Development Kit', 'CreateWorkflowActionPerformerRequest', 'CreateWorkflowActionPerformerRequest'] +--- + +# CreateWorkflowActionPerformerRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_action_performers** | [**WorkflowActionPerformers1**](workflow-action-performers1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_workflow_action_performer_request import CreateWorkflowActionPerformerRequest + +create_workflow_action_performer_request = CreateWorkflowActionPerformerRequest( +workflow_action_performers=sailpoint.nerm.models.workflow_action_performers_1.WorkflowActionPerformers_1( + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/CreateWorkflowPageRequest.md b/sailpoint/nerm/docs/Models/CreateWorkflowPageRequest.md new file mode 100644 index 000000000..7dda3a5a1 --- /dev/null +++ b/sailpoint/nerm/docs/Models/CreateWorkflowPageRequest.md @@ -0,0 +1,38 @@ +--- +id: create-workflow-page-request +title: CreateWorkflowPageRequest +pagination_label: CreateWorkflowPageRequest +sidebar_label: CreateWorkflowPageRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'CreateWorkflowPageRequest', 'CreateWorkflowPageRequest'] +slug: /tools/sdk/python//models/create-workflow-page-request +tags: ['SDK', 'Software Development Kit', 'CreateWorkflowPageRequest', 'CreateWorkflowPageRequest'] +--- + +# CreateWorkflowPageRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page** | [**WorkflowPage**](workflow-page) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.create_workflow_page_request import CreateWorkflowPageRequest + +create_workflow_page_request = CreateWorkflowPageRequest( +page=sailpoint.nerm.models.workflow_page.WorkflowPage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DataRecords.md b/sailpoint/nerm/docs/Models/DataRecords.md new file mode 100644 index 000000000..e8a5d3f41 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DataRecords.md @@ -0,0 +1,33 @@ +--- +id: data-records +title: DataRecords +pagination_label: DataRecords +sidebar_label: DataRecords +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DataRecords', 'DataRecords'] +slug: /tools/sdk/python//models/data-records +tags: ['SDK', 'Software Development Kit', 'DataRecords', 'DataRecords'] +--- + +# DataRecords + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**master_record_id** | **str** | The id of the master record | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.data_records import DataRecords + +data_records = DataRecords( +master_record_id='456738c9ba999a0076cf8a9b' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Delegation.md b/sailpoint/nerm/docs/Models/Delegation.md new file mode 100644 index 000000000..cd9fee987 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Delegation.md @@ -0,0 +1,45 @@ +--- +id: delegation +title: Delegation +pagination_label: Delegation +sidebar_label: Delegation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Delegation', 'Delegation'] +slug: /tools/sdk/python//models/delegation +tags: ['SDK', 'Software Development Kit', 'Delegation', 'Delegation'] +--- + +# Delegation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the delegation | [optional] +**delegator_id** | **object** | The id of the delegator user | [optional] +**delegate_id** | **object** | The id of the delegate user | [optional] +**expiration** | **datetime** | The expiration date of the delegation | [optional] +**expired** | **bool** | Indicates if the delegation is expired | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.delegation import Delegation + +delegation = Delegation( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +delegator_id=12345678-1234-5678-1234-123456789012, +delegate_id=87654321-4321-6789-4321-210987654321, +expiration='2023-10-01T12:00Z', +expired=False, +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Delegation1.md b/sailpoint/nerm/docs/Models/Delegation1.md new file mode 100644 index 000000000..9541fc9a6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Delegation1.md @@ -0,0 +1,37 @@ +--- +id: delegation1 +title: Delegation1 +pagination_label: Delegation1 +sidebar_label: Delegation1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Delegation1', 'Delegation1'] +slug: /tools/sdk/python//models/delegation1 +tags: ['SDK', 'Software Development Kit', 'Delegation1', 'Delegation1'] +--- + +# Delegation1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegator_id** | **str** | The id of the delegator | [optional] +**delegate_id** | **str** | The id of the delegate | [optional] +**expiration** | **datetime** | The expiration date of the delegation | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delegation1 import Delegation1 + +delegation1 = Delegation1( +delegator_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +delegate_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +expiration='2023-10-01T12:00Z' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DelegationsGet200Response.md b/sailpoint/nerm/docs/Models/DelegationsGet200Response.md new file mode 100644 index 000000000..aea2ccc23 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DelegationsGet200Response.md @@ -0,0 +1,49 @@ +--- +id: delegations-get200-response +title: DelegationsGet200Response +pagination_label: DelegationsGet200Response +sidebar_label: DelegationsGet200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsGet200Response', 'DelegationsGet200Response'] +slug: /tools/sdk/python//models/delegations-get200-response +tags: ['SDK', 'Software Development Kit', 'DelegationsGet200Response', 'DelegationsGet200Response'] +--- + +# DelegationsGet200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegations** | [**[]Delegation**](delegation) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delegations_get200_response import DelegationsGet200Response + +delegations_get200_response = DelegationsGet200Response( +delegations=[ + sailpoint.nerm.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DelegationsPost201Response.md b/sailpoint/nerm/docs/Models/DelegationsPost201Response.md new file mode 100644 index 000000000..5a01a4f13 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DelegationsPost201Response.md @@ -0,0 +1,40 @@ +--- +id: delegations-post201-response +title: DelegationsPost201Response +pagination_label: DelegationsPost201Response +sidebar_label: DelegationsPost201Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPost201Response', 'DelegationsPost201Response'] +slug: /tools/sdk/python//models/delegations-post201-response +tags: ['SDK', 'Software Development Kit', 'DelegationsPost201Response', 'DelegationsPost201Response'] +--- + +# DelegationsPost201Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegation** | [**Delegation**](delegation) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response + +delegations_post201_response = DelegationsPost201Response( +delegation=sailpoint.nerm.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DelegationsPost404Response.md b/sailpoint/nerm/docs/Models/DelegationsPost404Response.md new file mode 100644 index 000000000..05f8d5ceb --- /dev/null +++ b/sailpoint/nerm/docs/Models/DelegationsPost404Response.md @@ -0,0 +1,33 @@ +--- +id: delegations-post404-response +title: DelegationsPost404Response +pagination_label: DelegationsPost404Response +sidebar_label: DelegationsPost404Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPost404Response', 'DelegationsPost404Response'] +slug: /tools/sdk/python//models/delegations-post404-response +tags: ['SDK', 'Software Development Kit', 'DelegationsPost404Response', 'DelegationsPost404Response'] +--- + +# DelegationsPost404Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | The requested record, either ID or UID, was not found | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delegations_post404_response import DelegationsPost404Response + +delegations_post404_response = DelegationsPost404Response( +error=The requested Profile was not found +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DelegationsPostRequest.md b/sailpoint/nerm/docs/Models/DelegationsPostRequest.md new file mode 100644 index 000000000..369414dd3 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DelegationsPostRequest.md @@ -0,0 +1,36 @@ +--- +id: delegations-post-request +title: DelegationsPostRequest +pagination_label: DelegationsPostRequest +sidebar_label: DelegationsPostRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPostRequest', 'DelegationsPostRequest'] +slug: /tools/sdk/python//models/delegations-post-request +tags: ['SDK', 'Software Development Kit', 'DelegationsPostRequest', 'DelegationsPostRequest'] +--- + +# DelegationsPostRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegation** | [**Delegation1**](delegation1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest + +delegations_post_request = DelegationsPostRequest( +delegation=sailpoint.nerm.models.delegation_1.Delegation_1( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DeleteAttributeOptionById200Response.md b/sailpoint/nerm/docs/Models/DeleteAttributeOptionById200Response.md new file mode 100644 index 000000000..2bed13dea --- /dev/null +++ b/sailpoint/nerm/docs/Models/DeleteAttributeOptionById200Response.md @@ -0,0 +1,33 @@ +--- +id: delete-attribute-option-by-id200-response +title: DeleteAttributeOptionById200Response +pagination_label: DeleteAttributeOptionById200Response +sidebar_label: DeleteAttributeOptionById200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DeleteAttributeOptionById200Response', 'DeleteAttributeOptionById200Response'] +slug: /tools/sdk/python//models/delete-attribute-option-by-id200-response +tags: ['SDK', 'Software Development Kit', 'DeleteAttributeOptionById200Response', 'DeleteAttributeOptionById200Response'] +--- + +# DeleteAttributeOptionById200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**info** | **str** | | [optional] [default to 'The option {Option Value} has been deleted'] +} + +## Example + +```python +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response + +delete_attribute_option_by_id200_response = DeleteAttributeOptionById200Response( +info='The option {Option Value} has been deleted' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DeleteMasterRecord400Response.md b/sailpoint/nerm/docs/Models/DeleteMasterRecord400Response.md new file mode 100644 index 000000000..aaf6e0fef --- /dev/null +++ b/sailpoint/nerm/docs/Models/DeleteMasterRecord400Response.md @@ -0,0 +1,33 @@ +--- +id: delete-master-record400-response +title: DeleteMasterRecord400Response +pagination_label: DeleteMasterRecord400Response +sidebar_label: DeleteMasterRecord400Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DeleteMasterRecord400Response', 'DeleteMasterRecord400Response'] +slug: /tools/sdk/python//models/delete-master-record400-response +tags: ['SDK', 'Software Development Kit', 'DeleteMasterRecord400Response', 'DeleteMasterRecord400Response'] +--- + +# DeleteMasterRecord400Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **str** | A message describing the error that occurred | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delete_master_record400_response import DeleteMasterRecord400Response + +delete_master_record400_response = DeleteMasterRecord400Response( +error='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DeleteProfileTypeById200Response.md b/sailpoint/nerm/docs/Models/DeleteProfileTypeById200Response.md new file mode 100644 index 000000000..4f7370e20 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DeleteProfileTypeById200Response.md @@ -0,0 +1,33 @@ +--- +id: delete-profile-type-by-id200-response +title: DeleteProfileTypeById200Response +pagination_label: DeleteProfileTypeById200Response +sidebar_label: DeleteProfileTypeById200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DeleteProfileTypeById200Response', 'DeleteProfileTypeById200Response'] +slug: /tools/sdk/python//models/delete-profile-type-by-id200-response +tags: ['SDK', 'Software Development Kit', 'DeleteProfileTypeById200Response', 'DeleteProfileTypeById200Response'] +--- + +# DeleteProfileTypeById200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**info** | **object** | A message confirming the operation | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response + +delete_profile_type_by_id200_response = DeleteProfileTypeById200Response( +info=object deleted +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DeleteProfiles200Response.md b/sailpoint/nerm/docs/Models/DeleteProfiles200Response.md new file mode 100644 index 000000000..b6fb1de6b --- /dev/null +++ b/sailpoint/nerm/docs/Models/DeleteProfiles200Response.md @@ -0,0 +1,52 @@ +--- +id: delete-profiles200-response +title: DeleteProfiles200Response +pagination_label: DeleteProfiles200Response +sidebar_label: DeleteProfiles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DeleteProfiles200Response', 'DeleteProfiles200Response'] +slug: /tools/sdk/python//models/delete-profiles200-response +tags: ['SDK', 'Software Development Kit', 'DeleteProfiles200Response', 'DeleteProfiles200Response'] +--- + +# DeleteProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**[]Profile**](profile) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.delete_profiles200_response import DeleteProfiles200Response + +delete_profiles200_response = DeleteProfiles200Response( +profiles=[ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/DuplicatePreventionAction.md b/sailpoint/nerm/docs/Models/DuplicatePreventionAction.md new file mode 100644 index 000000000..48dc96ac4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/DuplicatePreventionAction.md @@ -0,0 +1,43 @@ +--- +id: duplicate-prevention-action +title: DuplicatePreventionAction +pagination_label: DuplicatePreventionAction +sidebar_label: DuplicatePreventionAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DuplicatePreventionAction', 'DuplicatePreventionAction'] +slug: /tools/sdk/python//models/duplicate-prevention-action +tags: ['SDK', 'Software Development Kit', 'DuplicatePreventionAction', 'DuplicatePreventionAction'] +--- + +# DuplicatePreventionAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**search_scope** | **Enum** [ 'all', 'current' ] | The search scope of the profiles to check against. | [required] +**ne_attribute_ids** | **[]str** | An array of ne_attribute_ids. | [optional] +**handle_id** | **str** | The handle id. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.duplicate_prevention_action import DuplicatePreventionAction + +duplicate_prevention_action = DuplicatePreventionAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Allows a user to select an already existing profile, or create a new one for the request.', +search_scope='current', +ne_attribute_ids=[33f072dd-13b4-41e1-8ea0-16f2a59b57c8], +handle_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/EmailVerificationAction.md b/sailpoint/nerm/docs/Models/EmailVerificationAction.md new file mode 100644 index 000000000..dcc3f0029 --- /dev/null +++ b/sailpoint/nerm/docs/Models/EmailVerificationAction.md @@ -0,0 +1,43 @@ +--- +id: email-verification-action +title: EmailVerificationAction +pagination_label: EmailVerificationAction +sidebar_label: EmailVerificationAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'EmailVerificationAction', 'EmailVerificationAction'] +slug: /tools/sdk/python//models/email-verification-action +tags: ['SDK', 'Software Development Kit', 'EmailVerificationAction', 'EmailVerificationAction'] +--- + +# EmailVerificationAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**email_expiration** | **int** | The email expiration time, in minutes. | [required] +**token_expiration** | **int** | The token expiration time, coordinates with token_expiration_type. | [required] +**token_expiration_type** | **Enum** [ 'hours', 'days', 'login attempts', 'always' ] | The token expiration type, coordinates with token_expiration. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.email_verification_action import EmailVerificationAction + +email_verification_action = EmailVerificationAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Have the user verify their email address.', +email_expiration=20, +token_expiration=1, +token_expiration_type='days', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Form.md b/sailpoint/nerm/docs/Models/Form.md new file mode 100644 index 000000000..6b08ea893 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Form.md @@ -0,0 +1,41 @@ +--- +id: form +title: Form +pagination_label: Form +sidebar_label: Form +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Form', 'Form'] +slug: /tools/sdk/python//models/form +tags: ['SDK', 'Software Development Kit', 'Form', 'Form'] +--- + +# Form + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the form | [optional] +**description** | **str** | The description of the form | [optional] +**name** | **str** | The name of the form | [optional] +**archived** | **bool** | Determines whether the form is archived | [optional] +**id** | **str** | The id of the form | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.form import Form + +form = Form( +uid='form_uid', +description='Form for creating new profile', +name='My Form Name', +archived=False, +id='2e06b876-f456-473d-bd65-b6435e0b6b2d' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Form1.md b/sailpoint/nerm/docs/Models/Form1.md new file mode 100644 index 000000000..edb35e10d --- /dev/null +++ b/sailpoint/nerm/docs/Models/Form1.md @@ -0,0 +1,39 @@ +--- +id: form1 +title: Form1 +pagination_label: Form1 +sidebar_label: Form1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Form1', 'Form1'] +slug: /tools/sdk/python//models/form1 +tags: ['SDK', 'Software Development Kit', 'Form1', 'Form1'] +--- + +# Form1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the form | [optional] +**description** | **str** | The description of the form | [optional] +**name** | **str** | The name of the form | [optional] +**archived** | **bool** | Determines whether the form is archived | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.form1 import Form1 + +form1 = Form1( +uid='form_uid', +description='Form for creating new profile', +name='My Form Name', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/FormAttribute.md b/sailpoint/nerm/docs/Models/FormAttribute.md new file mode 100644 index 000000000..6db0729d8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/FormAttribute.md @@ -0,0 +1,45 @@ +--- +id: form-attribute +title: FormAttribute +pagination_label: FormAttribute +sidebar_label: FormAttribute +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'FormAttribute', 'FormAttribute'] +slug: /tools/sdk/python//models/form-attribute +tags: ['SDK', 'Software Development Kit', 'FormAttribute', 'FormAttribute'] +--- + +# FormAttribute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**form_id** | **str** | The id of the form | [optional] +**ne_attribute_id** | **str** | The id of the attribute | [optional] +**attr_type** | **Enum** [ 'ne_attribute', 'break' ] | The attribute type | [optional] +**order** | **int** | The ordinal position of the attribute on the Form. The order value determines the order or sequence the Form values are presented in the user interface. Each FormAttribute on a Form must have a unique order value. Order valuess can start at zero (0), but often start at one (1). The FormAttribute with order 1 is presented before the FormAttribute with order 2, and so on. Gaps in the order can exist and the system ignores them. | [optional] +**id** | **str** | The id of the form attribute | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.form_attribute import FormAttribute + +form_attribute = FormAttribute( +form_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +ne_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +attr_type='ne_attribute', +order=1, +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/FormAttributes.md b/sailpoint/nerm/docs/Models/FormAttributes.md new file mode 100644 index 000000000..b633682e7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/FormAttributes.md @@ -0,0 +1,39 @@ +--- +id: form-attributes +title: FormAttributes +pagination_label: FormAttributes +sidebar_label: FormAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'FormAttributes', 'FormAttributes'] +slug: /tools/sdk/python//models/form-attributes +tags: ['SDK', 'Software Development Kit', 'FormAttributes', 'FormAttributes'] +--- + +# FormAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**form_id** | **str** | The id of the form | [optional] +**ne_attribute_id** | **str** | The id of the attribute | [optional] +**attr_type** | **Enum** [ 'ne_attribute', 'break' ] | The attribute type | [optional] +**order** | **int** | The ordinal position of the attribute on the Form. The order value determines the order or sequence the Form values are presented in the user interface. Each FormAttribute on a Form must have a unique order value. Order valuess can start at zero (0), but often start at one (1). The FormAttribute with order 1 is presented before the FormAttribute with order 2, and so on. Gaps in the order can exist and the system ignores them. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.form_attributes import FormAttributes + +form_attributes = FormAttributes( +form_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +ne_attribute_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +attr_type='ne_attribute', +order=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Forms.md b/sailpoint/nerm/docs/Models/Forms.md new file mode 100644 index 000000000..7c3ae569d --- /dev/null +++ b/sailpoint/nerm/docs/Models/Forms.md @@ -0,0 +1,39 @@ +--- +id: forms +title: Forms +pagination_label: Forms +sidebar_label: Forms +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Forms', 'Forms'] +slug: /tools/sdk/python//models/forms +tags: ['SDK', 'Software Development Kit', 'Forms', 'Forms'] +--- + +# Forms + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the form | [optional] +**description** | **str** | The description of the form | [optional] +**name** | **str** | The name of the form | [optional] +**archived** | **bool** | Determines whether the form is archived | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.forms import Forms + +forms = Forms( +uid='form_uid', +description='Form for creating new profile', +name='My Form Name', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/FulfillmentAction.md b/sailpoint/nerm/docs/Models/FulfillmentAction.md new file mode 100644 index 000000000..20ccd2ca7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/FulfillmentAction.md @@ -0,0 +1,41 @@ +--- +id: fulfillment-action +title: FulfillmentAction +pagination_label: FulfillmentAction +sidebar_label: FulfillmentAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'FulfillmentAction', 'FulfillmentAction'] +slug: /tools/sdk/python//models/fulfillment-action +tags: ['SDK', 'Software Development Kit', 'FulfillmentAction', 'FulfillmentAction'] +--- + +# FulfillmentAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**page_id** | **str** | The page the workflow action should render. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**requires_comment** | **bool** | If the workflow action requires a comment or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.fulfillment_action import FulfillmentAction + +fulfillment_action = FulfillmentAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Have another user or group provide information for the profile.', +page_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +archived=False, +requires_comment=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetAdvancedSearch200Response.md b/sailpoint/nerm/docs/Models/GetAdvancedSearch200Response.md new file mode 100644 index 000000000..f566f36cf --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetAdvancedSearch200Response.md @@ -0,0 +1,41 @@ +--- +id: get-advanced-search200-response +title: GetAdvancedSearch200Response +pagination_label: GetAdvancedSearch200Response +sidebar_label: GetAdvancedSearch200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetAdvancedSearch200Response', 'GetAdvancedSearch200Response'] +slug: /tools/sdk/python//models/get-advanced-search200-response +tags: ['SDK', 'Software Development Kit', 'GetAdvancedSearch200Response', 'GetAdvancedSearch200Response'] +--- + +# GetAdvancedSearch200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**advanced_search** | [**[]AdvancedSearch**](advanced-search) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_advanced_search200_response import GetAdvancedSearch200Response + +get_advanced_search200_response = GetAdvancedSearch200Response( +advanced_search=[ + sailpoint.nerm.models.advanced_search.AdvancedSearch( + id = '', + uid = '', + label = '', + condition_rules_attributes = [ + null + ], ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetAttributeOptions200Response.md b/sailpoint/nerm/docs/Models/GetAttributeOptions200Response.md new file mode 100644 index 000000000..102e37615 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetAttributeOptions200Response.md @@ -0,0 +1,46 @@ +--- +id: get-attribute-options200-response +title: GetAttributeOptions200Response +pagination_label: GetAttributeOptions200Response +sidebar_label: GetAttributeOptions200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetAttributeOptions200Response', 'GetAttributeOptions200Response'] +slug: /tools/sdk/python//models/get-attribute-options200-response +tags: ['SDK', 'Software Development Kit', 'GetAttributeOptions200Response', 'GetAttributeOptions200Response'] +--- + +# GetAttributeOptions200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_options** | [**[]AttributeOption**](attribute-option) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_attribute_options200_response import GetAttributeOptions200Response + +get_attribute_options200_response = GetAttributeOptions200Response( +ne_attribute_options=[ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetAttributes200Response.md b/sailpoint/nerm/docs/Models/GetAttributes200Response.md new file mode 100644 index 000000000..20ef9e6f1 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetAttributes200Response.md @@ -0,0 +1,88 @@ +--- +id: get-attributes200-response +title: GetAttributes200Response +pagination_label: GetAttributes200Response +sidebar_label: GetAttributes200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetAttributes200Response', 'GetAttributes200Response'] +slug: /tools/sdk/python//models/get-attributes200-response +tags: ['SDK', 'Software Development Kit', 'GetAttributes200Response', 'GetAttributes200Response'] +--- + +# GetAttributes200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attributes** | [**[]Attribute**](attribute) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_attributes200_response import GetAttributes200Response + +get_attributes200_response = GetAttributes200Response( +ne_attributes=[ + sailpoint.nerm.models.attribute.Attribute( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetAttributes400Response.md b/sailpoint/nerm/docs/Models/GetAttributes400Response.md new file mode 100644 index 000000000..2fb9ee81a --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetAttributes400Response.md @@ -0,0 +1,35 @@ +--- +id: get-attributes400-response +title: GetAttributes400Response +pagination_label: GetAttributes400Response +sidebar_label: GetAttributes400Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetAttributes400Response', 'GetAttributes400Response'] +slug: /tools/sdk/python//models/get-attributes400-response +tags: ['SDK', 'Software Development Kit', 'GetAttributes400Response', 'GetAttributes400Response'] +--- + +# GetAttributes400Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | | [optional] +**errors** | **object** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_attributes400_response import GetAttributes400Response + +get_attributes400_response = GetAttributes400Response( +error=The failed to create/update, +errors={attribute=can't be blank} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetAttributes500Response.md b/sailpoint/nerm/docs/Models/GetAttributes500Response.md new file mode 100644 index 000000000..cb08ca19d --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetAttributes500Response.md @@ -0,0 +1,33 @@ +--- +id: get-attributes500-response +title: GetAttributes500Response +pagination_label: GetAttributes500Response +sidebar_label: GetAttributes500Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetAttributes500Response', 'GetAttributes500Response'] +slug: /tools/sdk/python//models/get-attributes500-response +tags: ['SDK', 'Software Development Kit', 'GetAttributes500Response', 'GetAttributes500Response'] +--- + +# GetAttributes500Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_attributes500_response import GetAttributes500Response + +get_attributes500_response = GetAttributes500Response( +error=Sorry something went wrong +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetFormAttributes200Response.md b/sailpoint/nerm/docs/Models/GetFormAttributes200Response.md new file mode 100644 index 000000000..d47263935 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetFormAttributes200Response.md @@ -0,0 +1,40 @@ +--- +id: get-form-attributes200-response +title: GetFormAttributes200Response +pagination_label: GetFormAttributes200Response +sidebar_label: GetFormAttributes200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetFormAttributes200Response', 'GetFormAttributes200Response'] +slug: /tools/sdk/python//models/get-form-attributes200-response +tags: ['SDK', 'Software Development Kit', 'GetFormAttributes200Response', 'GetFormAttributes200Response'] +--- + +# GetFormAttributes200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**form_attribute** | [**FormAttribute**](form-attribute) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response + +get_form_attributes200_response = GetFormAttributes200Response( +form_attribute=sailpoint.nerm.models.form_attribute.FormAttribute( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1, + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetForms200Response.md b/sailpoint/nerm/docs/Models/GetForms200Response.md new file mode 100644 index 000000000..f7824a22d --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetForms200Response.md @@ -0,0 +1,40 @@ +--- +id: get-forms200-response +title: GetForms200Response +pagination_label: GetForms200Response +sidebar_label: GetForms200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetForms200Response', 'GetForms200Response'] +slug: /tools/sdk/python//models/get-forms200-response +tags: ['SDK', 'Software Development Kit', 'GetForms200Response', 'GetForms200Response'] +--- + +# GetForms200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**forms** | [**[]Form**](form) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_forms200_response import GetForms200Response + +get_forms200_response = GetForms200Response( +forms=[ + sailpoint.nerm.models.form.Form( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetIdentityProofingResults200Response.md b/sailpoint/nerm/docs/Models/GetIdentityProofingResults200Response.md new file mode 100644 index 000000000..7e3223c4f --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetIdentityProofingResults200Response.md @@ -0,0 +1,51 @@ +--- +id: get-identity-proofing-results200-response +title: GetIdentityProofingResults200Response +pagination_label: GetIdentityProofingResults200Response +sidebar_label: GetIdentityProofingResults200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetIdentityProofingResults200Response', 'GetIdentityProofingResults200Response'] +slug: /tools/sdk/python//models/get-identity-proofing-results200-response +tags: ['SDK', 'Software Development Kit', 'GetIdentityProofingResults200Response', 'GetIdentityProofingResults200Response'] +--- + +# GetIdentityProofingResults200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**identity_proofing_results** | [**[]IdentityProofingResult**](identity-proofing-result) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_identity_proofing_results200_response import GetIdentityProofingResults200Response + +get_identity_proofing_results200_response = GetIdentityProofingResults200Response( +identity_proofing_results=[ + sailpoint.nerm.models.identity_proofing_result.IdentityProofingResult( + id = '', + identity_proofing_action_id = '', + workflow_session_id = '', + profile_id = '', + proofing_workflow = '', + result = 'pending', + proofing_attributes = {result=approve}, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetJobStatus200Response.md b/sailpoint/nerm/docs/Models/GetJobStatus200Response.md new file mode 100644 index 000000000..fbf7fada2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetJobStatus200Response.md @@ -0,0 +1,46 @@ +--- +id: get-job-status200-response +title: GetJobStatus200Response +pagination_label: GetJobStatus200Response +sidebar_label: GetJobStatus200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetJobStatus200Response', 'GetJobStatus200Response'] +slug: /tools/sdk/python//models/get-job-status200-response +tags: ['SDK', 'Software Development Kit', 'GetJobStatus200Response', 'GetJobStatus200Response'] +--- + +# GetJobStatus200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | | [optional] +**status** | **str** | | [optional] +**job_type** | **str** | | [optional] +**job_data** | [**[]GetJobStatus200ResponseJobDataInner**](get-job-status200-response-job-data-inner) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_job_status200_response import GetJobStatus200Response + +get_job_status200_response = GetJobStatus200Response( +uid='', +status='complete', +job_type='import', +job_data=[ + sailpoint.nerm.models.get_job_status_200_response_job_data_inner.getJobStatus_200_response_job_data_inner( + user_id = '', + manager_id = '', + errors = [ + 'Validation error for record in job' + ], ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetJobStatus200ResponseJobDataInner.md b/sailpoint/nerm/docs/Models/GetJobStatus200ResponseJobDataInner.md new file mode 100644 index 000000000..a19e95d7f --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetJobStatus200ResponseJobDataInner.md @@ -0,0 +1,39 @@ +--- +id: get-job-status200-response-job-data-inner +title: GetJobStatus200ResponseJobDataInner +pagination_label: GetJobStatus200ResponseJobDataInner +sidebar_label: GetJobStatus200ResponseJobDataInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetJobStatus200ResponseJobDataInner', 'GetJobStatus200ResponseJobDataInner'] +slug: /tools/sdk/python//models/get-job-status200-response-job-data-inner +tags: ['SDK', 'Software Development Kit', 'GetJobStatus200ResponseJobDataInner', 'GetJobStatus200ResponseJobDataInner'] +--- + +# GetJobStatus200ResponseJobDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | | [optional] +**manager_id** | **str** | | [optional] +**errors** | **[]str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_job_status200_response_job_data_inner import GetJobStatus200ResponseJobDataInner + +get_job_status200_response_job_data_inner = GetJobStatus200ResponseJobDataInner( +user_id='', +manager_id='', +errors=[ + 'Validation error for record in job' + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetPageContentTranslation200Response.md b/sailpoint/nerm/docs/Models/GetPageContentTranslation200Response.md new file mode 100644 index 000000000..4da5bfb6c --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetPageContentTranslation200Response.md @@ -0,0 +1,39 @@ +--- +id: get-page-content-translation200-response +title: GetPageContentTranslation200Response +pagination_label: GetPageContentTranslation200Response +sidebar_label: GetPageContentTranslation200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetPageContentTranslation200Response', 'GetPageContentTranslation200Response'] +slug: /tools/sdk/python//models/get-page-content-translation200-response +tags: ['SDK', 'Software Development Kit', 'GetPageContentTranslation200Response', 'GetPageContentTranslation200Response'] +--- + +# GetPageContentTranslation200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_content_translation** | [**PageContentTranslation**](page-content-translation) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response + +get_page_content_translation200_response = GetPageContentTranslation200Response( +page_content_translation=sailpoint.nerm.models.page_content_translation.PageContentTranslation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'page_content_transation_great_es_es', + locale = 'es-ES', + value = 'Es stupendo!', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetPageContents200Response.md b/sailpoint/nerm/docs/Models/GetPageContents200Response.md new file mode 100644 index 000000000..c679c3b9e --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetPageContents200Response.md @@ -0,0 +1,39 @@ +--- +id: get-page-contents200-response +title: GetPageContents200Response +pagination_label: GetPageContents200Response +sidebar_label: GetPageContents200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetPageContents200Response', 'GetPageContents200Response'] +slug: /tools/sdk/python//models/get-page-contents200-response +tags: ['SDK', 'Software Development Kit', 'GetPageContents200Response', 'GetPageContents200Response'] +--- + +# GetPageContents200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page** | [**PageContent**](page-content) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response + +get_page_contents200_response = GetPageContents200Response( +page=sailpoint.nerm.models.page_content.PageContent( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetPageElements200Response.md b/sailpoint/nerm/docs/Models/GetPageElements200Response.md new file mode 100644 index 000000000..ce5438ab5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetPageElements200Response.md @@ -0,0 +1,41 @@ +--- +id: get-page-elements200-response +title: GetPageElements200Response +pagination_label: GetPageElements200Response +sidebar_label: GetPageElements200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetPageElements200Response', 'GetPageElements200Response'] +slug: /tools/sdk/python//models/get-page-elements200-response +tags: ['SDK', 'Software Development Kit', 'GetPageElements200Response', 'GetPageElements200Response'] +--- + +# GetPageElements200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_element** | [**PageElement**](page-element) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response + +get_page_elements200_response = GetPageElements200Response( +page_element=sailpoint.nerm.models.page_element.PageElement( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetProfileTypeAttributes200Response.md b/sailpoint/nerm/docs/Models/GetProfileTypeAttributes200Response.md new file mode 100644 index 000000000..09053d2b9 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetProfileTypeAttributes200Response.md @@ -0,0 +1,41 @@ +--- +id: get-profile-type-attributes200-response +title: GetProfileTypeAttributes200Response +pagination_label: GetProfileTypeAttributes200Response +sidebar_label: GetProfileTypeAttributes200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetProfileTypeAttributes200Response', 'GetProfileTypeAttributes200Response'] +slug: /tools/sdk/python//models/get-profile-type-attributes200-response +tags: ['SDK', 'Software Development Kit', 'GetProfileTypeAttributes200Response', 'GetProfileTypeAttributes200Response'] +--- + +# GetProfileTypeAttributes200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_attributes** | [**ProfileTypeAttributes**](profile-type-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_profile_type_attributes200_response import GetProfileTypeAttributes200Response + +get_profile_type_attributes200_response = GetProfileTypeAttributes200Response( +profile_type_attributes=sailpoint.nerm.models.profile_type_attributes.ProfileTypeAttributes( + count = 5, + records = [ + sailpoint.nerm.models.profile_type_attribute.ProfileTypeAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + uid = '1246d8b3-ac29-4015-8154-dea4434a73fa', + label = 'object', + synced = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetProfileTypeAttributesSortParameter.md b/sailpoint/nerm/docs/Models/GetProfileTypeAttributesSortParameter.md new file mode 100644 index 000000000..39c1d5426 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetProfileTypeAttributesSortParameter.md @@ -0,0 +1,35 @@ +--- +id: get-profile-type-attributes-sort-parameter +title: GetProfileTypeAttributesSortParameter +pagination_label: GetProfileTypeAttributesSortParameter +sidebar_label: GetProfileTypeAttributesSortParameter +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetProfileTypeAttributesSortParameter', 'GetProfileTypeAttributesSortParameter'] +slug: /tools/sdk/python//models/get-profile-type-attributes-sort-parameter +tags: ['SDK', 'Software Development Kit', 'GetProfileTypeAttributesSortParameter', 'GetProfileTypeAttributesSortParameter'] +--- + +# GetProfileTypeAttributesSortParameter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attr** | **str** | | [optional] +**order** | **Enum** [ 'asc', 'desc' ] | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_profile_type_attributes_sort_parameter import GetProfileTypeAttributesSortParameter + +get_profile_type_attributes_sort_parameter = GetProfileTypeAttributesSortParameter( +attr='sync', +order='asc' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetProfileTypes200Response.md b/sailpoint/nerm/docs/Models/GetProfileTypes200Response.md new file mode 100644 index 000000000..1695ce39f --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetProfileTypes200Response.md @@ -0,0 +1,65 @@ +--- +id: get-profile-types200-response +title: GetProfileTypes200Response +pagination_label: GetProfileTypes200Response +sidebar_label: GetProfileTypes200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetProfileTypes200Response', 'GetProfileTypes200Response'] +slug: /tools/sdk/python//models/get-profile-types200-response +tags: ['SDK', 'Software Development Kit', 'GetProfileTypes200Response', 'GetProfileTypes200Response'] +--- + +# GetProfileTypes200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_types** | [**[]ProfileType**](profile-type) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_profile_types200_response import GetProfileTypes200Response + +get_profile_types200_response = GetProfileTypes200Response( +profile_types=[ + sailpoint.nerm.models.profile_type.ProfileType( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'ptUid', + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes = [ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings = [ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRiskLevel200Response.md b/sailpoint/nerm/docs/Models/GetRiskLevel200Response.md new file mode 100644 index 000000000..8e85cd46d --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRiskLevel200Response.md @@ -0,0 +1,38 @@ +--- +id: get-risk-level200-response +title: GetRiskLevel200Response +pagination_label: GetRiskLevel200Response +sidebar_label: GetRiskLevel200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRiskLevel200Response', 'GetRiskLevel200Response'] +slug: /tools/sdk/python//models/get-risk-level200-response +tags: ['SDK', 'Software Development Kit', 'GetRiskLevel200Response', 'GetRiskLevel200Response'] +--- + +# GetRiskLevel200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**risk_level** | [**RiskLevel**](risk-level) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_risk_level200_response import GetRiskLevel200Response + +get_risk_level200_response = GetRiskLevel200Response( +risk_level=sailpoint.nerm.models.risk_level.RiskLevel( + id = '', + uid = '', + label = '', + points = 1.337, + order = 0, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRiskLevels200Response.md b/sailpoint/nerm/docs/Models/GetRiskLevels200Response.md new file mode 100644 index 000000000..d7ec8d3aa --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRiskLevels200Response.md @@ -0,0 +1,47 @@ +--- +id: get-risk-levels200-response +title: GetRiskLevels200Response +pagination_label: GetRiskLevels200Response +sidebar_label: GetRiskLevels200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRiskLevels200Response', 'GetRiskLevels200Response'] +slug: /tools/sdk/python//models/get-risk-levels200-response +tags: ['SDK', 'Software Development Kit', 'GetRiskLevels200Response', 'GetRiskLevels200Response'] +--- + +# GetRiskLevels200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**risk_levels** | [**[]RiskLevel**](risk-level) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_risk_levels200_response import GetRiskLevels200Response + +get_risk_levels200_response = GetRiskLevels200Response( +risk_levels=[ + sailpoint.nerm.models.risk_level.RiskLevel( + id = '', + uid = '', + label = '', + points = 1.337, + order = 0, ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRiskScore200Response.md b/sailpoint/nerm/docs/Models/GetRiskScore200Response.md new file mode 100644 index 000000000..5b4b48ca1 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRiskScore200Response.md @@ -0,0 +1,43 @@ +--- +id: get-risk-score200-response +title: GetRiskScore200Response +pagination_label: GetRiskScore200Response +sidebar_label: GetRiskScore200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRiskScore200Response', 'GetRiskScore200Response'] +slug: /tools/sdk/python//models/get-risk-score200-response +tags: ['SDK', 'Software Development Kit', 'GetRiskScore200Response', 'GetRiskScore200Response'] +--- + +# GetRiskScore200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**risk_score** | [**RiskScore**](risk-score) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_risk_score200_response import GetRiskScore200Response + +get_risk_score200_response = GetRiskScore200Response( +risk_score=sailpoint.nerm.models.risk_score.RiskScore( + id = '', + uid = '', + object_id = '', + object_type = 'Profile', + overall_score = 1.337, + overall_risk_level_id = '', + impact_score = 1.337, + impact_risk_level_id = '', + probability_score = 1.337, + probability_risk_level_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRiskScores200Response.md b/sailpoint/nerm/docs/Models/GetRiskScores200Response.md new file mode 100644 index 000000000..0e6a7fb84 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRiskScores200Response.md @@ -0,0 +1,52 @@ +--- +id: get-risk-scores200-response +title: GetRiskScores200Response +pagination_label: GetRiskScores200Response +sidebar_label: GetRiskScores200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRiskScores200Response', 'GetRiskScores200Response'] +slug: /tools/sdk/python//models/get-risk-scores200-response +tags: ['SDK', 'Software Development Kit', 'GetRiskScores200Response', 'GetRiskScores200Response'] +--- + +# GetRiskScores200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**risk_scores** | [**[]RiskScore**](risk-score) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_risk_scores200_response import GetRiskScores200Response + +get_risk_scores200_response = GetRiskScores200Response( +risk_scores=[ + sailpoint.nerm.models.risk_score.RiskScore( + id = '', + uid = '', + object_id = '', + object_type = 'Profile', + overall_score = 1.337, + overall_risk_level_id = '', + impact_score = 1.337, + impact_risk_level_id = '', + probability_score = 1.337, + probability_risk_level_id = '', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRoleProfiles200Response.md b/sailpoint/nerm/docs/Models/GetRoleProfiles200Response.md new file mode 100644 index 000000000..b23409c30 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRoleProfiles200Response.md @@ -0,0 +1,46 @@ +--- +id: get-role-profiles200-response +title: GetRoleProfiles200Response +pagination_label: GetRoleProfiles200Response +sidebar_label: GetRoleProfiles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRoleProfiles200Response', 'GetRoleProfiles200Response'] +slug: /tools/sdk/python//models/get-role-profiles200-response +tags: ['SDK', 'Software Development Kit', 'GetRoleProfiles200Response', 'GetRoleProfiles200Response'] +--- + +# GetRoleProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profiles** | [**[]RoleProfile**](role-profile) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_role_profiles200_response import GetRoleProfiles200Response + +get_role_profiles200_response = GetRoleProfiles200Response( +role_profiles=[ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetRoles200Response.md b/sailpoint/nerm/docs/Models/GetRoles200Response.md new file mode 100644 index 000000000..9b7705f2b --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetRoles200Response.md @@ -0,0 +1,48 @@ +--- +id: get-roles200-response +title: GetRoles200Response +pagination_label: GetRoles200Response +sidebar_label: GetRoles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetRoles200Response', 'GetRoles200Response'] +slug: /tools/sdk/python//models/get-roles200-response +tags: ['SDK', 'Software Development Kit', 'GetRoles200Response', 'GetRoles200Response'] +--- + +# GetRoles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**roles** | [**[]Role**](role) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_roles200_response import GetRoles200Response + +get_roles200_response = GetRoles200Response( +roles=[ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetSchemaMappedProfilesCollection200Response.md b/sailpoint/nerm/docs/Models/GetSchemaMappedProfilesCollection200Response.md new file mode 100644 index 000000000..df4d1b992 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetSchemaMappedProfilesCollection200Response.md @@ -0,0 +1,52 @@ +--- +id: get-schema-mapped-profiles-collection200-response +title: GetSchemaMappedProfilesCollection200Response +pagination_label: GetSchemaMappedProfilesCollection200Response +sidebar_label: GetSchemaMappedProfilesCollection200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetSchemaMappedProfilesCollection200Response', 'GetSchemaMappedProfilesCollection200Response'] +slug: /tools/sdk/python//models/get-schema-mapped-profiles-collection200-response +tags: ['SDK', 'Software Development Kit', 'GetSchemaMappedProfilesCollection200Response', 'GetSchemaMappedProfilesCollection200Response'] +--- + +# GetSchemaMappedProfilesCollection200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**[]Profile**](profile) | | [optional] +**metadata** | [**MetadataWithAfterId**](metadata-with-after-id) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response + +get_schema_mapped_profiles_collection200_response = GetSchemaMappedProfilesCollection200Response( +profiles=[ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], +metadata=sailpoint.nerm.models.metadata_with_after_id.MetadataWithAfterId( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', + after_id = '4eaa719f-4312-4c5b-9264-d0eb04d4a02a', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetSingleSchemaMappedProfile200Response.md b/sailpoint/nerm/docs/Models/GetSingleSchemaMappedProfile200Response.md new file mode 100644 index 000000000..5c2f892e7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetSingleSchemaMappedProfile200Response.md @@ -0,0 +1,42 @@ +--- +id: get-single-schema-mapped-profile200-response +title: GetSingleSchemaMappedProfile200Response +pagination_label: GetSingleSchemaMappedProfile200Response +sidebar_label: GetSingleSchemaMappedProfile200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetSingleSchemaMappedProfile200Response', 'GetSingleSchemaMappedProfile200Response'] +slug: /tools/sdk/python//models/get-single-schema-mapped-profile200-response +tags: ['SDK', 'Software Development Kit', 'GetSingleSchemaMappedProfile200Response', 'GetSingleSchemaMappedProfile200Response'] +--- + +# GetSingleSchemaMappedProfile200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile** | [**Profile**](profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response + +get_single_schema_mapped_profile200_response = GetSingleSchemaMappedProfile200Response( +profile=sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetSystemRoles200Response.md b/sailpoint/nerm/docs/Models/GetSystemRoles200Response.md new file mode 100644 index 000000000..911a76a1f --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetSystemRoles200Response.md @@ -0,0 +1,45 @@ +--- +id: get-system-roles200-response +title: GetSystemRoles200Response +pagination_label: GetSystemRoles200Response +sidebar_label: GetSystemRoles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetSystemRoles200Response', 'GetSystemRoles200Response'] +slug: /tools/sdk/python//models/get-system-roles200-response +tags: ['SDK', 'Software Development Kit', 'GetSystemRoles200Response', 'GetSystemRoles200Response'] +--- + +# GetSystemRoles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**system_roles** | [**[]SystemRole**](system-role) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_system_roles200_response import GetSystemRoles200Response + +get_system_roles200_response = GetSystemRoles200Response( +system_roles=[ + sailpoint.nerm.models.system_role.SystemRole( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + uid = 'profile_contributor', + name = 'Profile Contributor', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetUserManagers200Response.md b/sailpoint/nerm/docs/Models/GetUserManagers200Response.md new file mode 100644 index 000000000..7b1277060 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetUserManagers200Response.md @@ -0,0 +1,46 @@ +--- +id: get-user-managers200-response +title: GetUserManagers200Response +pagination_label: GetUserManagers200Response +sidebar_label: GetUserManagers200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetUserManagers200Response', 'GetUserManagers200Response'] +slug: /tools/sdk/python//models/get-user-managers200-response +tags: ['SDK', 'Software Development Kit', 'GetUserManagers200Response', 'GetUserManagers200Response'] +--- + +# GetUserManagers200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_managers** | [**[]UserManager**](user-manager) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_user_managers200_response import GetUserManagers200Response + +get_user_managers200_response = GetUserManagers200Response( +user_managers=[ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetUserProfiles200Response.md b/sailpoint/nerm/docs/Models/GetUserProfiles200Response.md new file mode 100644 index 000000000..baaedd2b7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetUserProfiles200Response.md @@ -0,0 +1,48 @@ +--- +id: get-user-profiles200-response +title: GetUserProfiles200Response +pagination_label: GetUserProfiles200Response +sidebar_label: GetUserProfiles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetUserProfiles200Response', 'GetUserProfiles200Response'] +slug: /tools/sdk/python//models/get-user-profiles200-response +tags: ['SDK', 'Software Development Kit', 'GetUserProfiles200Response', 'GetUserProfiles200Response'] +--- + +# GetUserProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profiles** | [**[]UserProfile**](user-profile) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_user_profiles200_response import GetUserProfiles200Response + +get_user_profiles200_response = GetUserProfiles200Response( +user_profiles=[ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetUserRoles200Response.md b/sailpoint/nerm/docs/Models/GetUserRoles200Response.md new file mode 100644 index 000000000..ceb2b0d0a --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetUserRoles200Response.md @@ -0,0 +1,46 @@ +--- +id: get-user-roles200-response +title: GetUserRoles200Response +pagination_label: GetUserRoles200Response +sidebar_label: GetUserRoles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetUserRoles200Response', 'GetUserRoles200Response'] +slug: /tools/sdk/python//models/get-user-roles200-response +tags: ['SDK', 'Software Development Kit', 'GetUserRoles200Response', 'GetUserRoles200Response'] +--- + +# GetUserRoles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_roles** | [**[]UserRole**](user-role) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_user_roles200_response import GetUserRoles200Response + +get_user_roles200_response = GetUserRoles200Response( +user_roles=[ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetUsers200Response.md b/sailpoint/nerm/docs/Models/GetUsers200Response.md new file mode 100644 index 000000000..232883c3b --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetUsers200Response.md @@ -0,0 +1,56 @@ +--- +id: get-users200-response +title: GetUsers200Response +pagination_label: GetUsers200Response +sidebar_label: GetUsers200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetUsers200Response', 'GetUsers200Response'] +slug: /tools/sdk/python//models/get-users200-response +tags: ['SDK', 'Software Development Kit', 'GetUsers200Response', 'GetUsers200Response'] +--- + +# GetUsers200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**[]User**](user) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_users200_response import GetUsers200Response + +get_users200_response = GetUsers200Response( +users=[ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetWorkflowActions200Response.md b/sailpoint/nerm/docs/Models/GetWorkflowActions200Response.md new file mode 100644 index 000000000..bc08a91f4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetWorkflowActions200Response.md @@ -0,0 +1,43 @@ +--- +id: get-workflow-actions200-response +title: GetWorkflowActions200Response +pagination_label: GetWorkflowActions200Response +sidebar_label: GetWorkflowActions200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetWorkflowActions200Response', 'GetWorkflowActions200Response'] +slug: /tools/sdk/python//models/get-workflow-actions200-response +tags: ['SDK', 'Software Development Kit', 'GetWorkflowActions200Response', 'GetWorkflowActions200Response'] +--- + +# GetWorkflowActions200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_actions** | [**WorkflowAction**](workflow-action) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_workflow_actions200_response import GetWorkflowActions200Response + +get_workflow_actions200_response = GetWorkflowActions200Response( +workflow_actions=sailpoint.nerm.models.workflow_action.WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + add_requester_as_owner = True, + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + new_status = 'Active, Inactive, On Leave, Terminated', + archived = False, + skippable = False, + requires_comment = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/GetWorkflowSessions200Response.md b/sailpoint/nerm/docs/Models/GetWorkflowSessions200Response.md new file mode 100644 index 000000000..1b428927d --- /dev/null +++ b/sailpoint/nerm/docs/Models/GetWorkflowSessions200Response.md @@ -0,0 +1,51 @@ +--- +id: get-workflow-sessions200-response +title: GetWorkflowSessions200Response +pagination_label: GetWorkflowSessions200Response +sidebar_label: GetWorkflowSessions200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'GetWorkflowSessions200Response', 'GetWorkflowSessions200Response'] +slug: /tools/sdk/python//models/get-workflow-sessions200-response +tags: ['SDK', 'Software Development Kit', 'GetWorkflowSessions200Response', 'GetWorkflowSessions200Response'] +--- + +# GetWorkflowSessions200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_sessions** | [**[]WorkflowSession**](workflow-session) | | [optional] +**metadata** | [**Metadata**](metadata) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.get_workflow_sessions200_response import GetWorkflowSessions200Response + +get_workflow_sessions200_response = GetWorkflowSessions200Response( +workflow_sessions=[ + sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], +metadata=sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/IdentityProofingAction.md b/sailpoint/nerm/docs/Models/IdentityProofingAction.md new file mode 100644 index 000000000..10fe037de --- /dev/null +++ b/sailpoint/nerm/docs/Models/IdentityProofingAction.md @@ -0,0 +1,37 @@ +--- +id: identity-proofing-action +title: IdentityProofingAction +pagination_label: IdentityProofingAction +sidebar_label: IdentityProofingAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'IdentityProofingAction', 'IdentityProofingAction'] +slug: /tools/sdk/python//models/identity-proofing-action +tags: ['SDK', 'Software Development Kit', 'IdentityProofingAction', 'IdentityProofingAction'] +--- + +# IdentityProofingAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.identity_proofing_action import IdentityProofingAction + +identity_proofing_action = IdentityProofingAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Have the user account associated with this profile validate the identity data.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/IdentityProofingResult.md b/sailpoint/nerm/docs/Models/IdentityProofingResult.md new file mode 100644 index 000000000..d8a6e0655 --- /dev/null +++ b/sailpoint/nerm/docs/Models/IdentityProofingResult.md @@ -0,0 +1,49 @@ +--- +id: identity-proofing-result +title: IdentityProofingResult +pagination_label: IdentityProofingResult +sidebar_label: IdentityProofingResult +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'IdentityProofingResult', 'IdentityProofingResult'] +slug: /tools/sdk/python//models/identity-proofing-result +tags: ['SDK', 'Software Development Kit', 'IdentityProofingResult', 'IdentityProofingResult'] +--- + +# IdentityProofingResult + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**identity_proofing_action_id** | **str** | | [optional] +**workflow_session_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +**proofing_workflow** | **str** | | [optional] +**result** | **Enum** [ 'pending', 'pass', 'fail' ] | | [optional] +**proofing_attributes** | **map[string]str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.identity_proofing_result import IdentityProofingResult + +identity_proofing_result = IdentityProofingResult( +id='', +identity_proofing_action_id='', +workflow_session_id='', +profile_id='', +proofing_workflow='', +result='pending', +proofing_attributes={result=approve}, +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Index.md b/sailpoint/nerm/docs/Models/Index.md new file mode 100644 index 000000000..4d474481c --- /dev/null +++ b/sailpoint/nerm/docs/Models/Index.md @@ -0,0 +1,19 @@ +--- +id: models +title: Models +pagination_label: Models +sidebar_label: Models +sidebar_key: -python-models +sidebar_position: 3 +sidebar_class_name: models +keywords: ['python', 'Python', 'sdk', 'models'] +slug: /tools/sdk/python//models +tags: ['SDK', 'Software Development Kit', '', 'models'] +--- + +The Python SDK uses data models to structure and manage data within the API. These models provide essential details about the data, including their attributes, data types, and how the models relate to each other. Understanding these models is crucial to effectively interact with the API. + +## Key Features +- Attributes: Describe each attribute, including its name, data type, and whether it's required. +- Validation & Constraints: Highlight any rules or limitations for the attributes, such as format or length limits. +- Example: Provides a sample of how the API uses the model. \ No newline at end of file diff --git a/sailpoint/nerm/docs/Models/InvalidJson.md b/sailpoint/nerm/docs/Models/InvalidJson.md new file mode 100644 index 000000000..2b73b5044 --- /dev/null +++ b/sailpoint/nerm/docs/Models/InvalidJson.md @@ -0,0 +1,33 @@ +--- +id: invalid-json +title: InvalidJson +pagination_label: InvalidJson +sidebar_label: InvalidJson +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'InvalidJson', 'InvalidJson'] +slug: /tools/sdk/python//models/invalid-json +tags: ['SDK', 'Software Development Kit', 'InvalidJson', 'InvalidJson'] +--- + +# InvalidJson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.invalid_json import InvalidJson + +invalid_json = InvalidJson( +error=Invalid JSON syntax. Please check your syntax and try again. +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/InvitationAction.md b/sailpoint/nerm/docs/Models/InvitationAction.md new file mode 100644 index 000000000..68e1231d6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/InvitationAction.md @@ -0,0 +1,53 @@ +--- +id: invitation-action +title: InvitationAction +pagination_label: InvitationAction +sidebar_label: InvitationAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'InvitationAction', 'InvitationAction'] +slug: /tools/sdk/python//models/invitation-action +tags: ['SDK', 'Software Development Kit', 'InvitationAction', 'InvitationAction'] +--- + +# InvitationAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**configuration_attributes** | [**InvitationActionConfigurationAttributes**](invitation-action-configuration-attributes) | | [optional] +**workflow_action_email_attributes** | [**InvitationActionWorkflowActionEmailAttributes**](invitation-action-workflow-action-email-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.invitation_action import InvitationAction + +invitation_action = InvitationAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Creates a registration session associated with an email address', +archived=False, +configuration_attributes=sailpoint.nerm.models.invitation_action_configuration_attributes.InvitationAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + return_profile = False, + portal_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + registration_workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + validate_completed_registration = False, + validate_open_registration = False, ), +workflow_action_email_attributes=sailpoint.nerm.models.invitation_action_workflow_action_email_attributes.InvitationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/InvitationActionConfigurationAttributes.md b/sailpoint/nerm/docs/Models/InvitationActionConfigurationAttributes.md new file mode 100644 index 000000000..2963528cd --- /dev/null +++ b/sailpoint/nerm/docs/Models/InvitationActionConfigurationAttributes.md @@ -0,0 +1,47 @@ +--- +id: invitation-action-configuration-attributes +title: InvitationActionConfigurationAttributes +pagination_label: InvitationActionConfigurationAttributes +sidebar_label: InvitationActionConfigurationAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'InvitationActionConfigurationAttributes', 'InvitationActionConfigurationAttributes'] +slug: /tools/sdk/python//models/invitation-action-configuration-attributes +tags: ['SDK', 'Software Development Kit', 'InvitationActionConfigurationAttributes', 'InvitationActionConfigurationAttributes'] +--- + +# InvitationActionConfigurationAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**wait_for_completion** | **bool** | If the invitation action should pause the parent workflow to wait for completion. | [optional] +**return_profile** | **bool** | If the invitation action should return a profile. | [optional] +**portal_id** | **str** | the id of the portal. | [optional] +**registration_workflow_id** | **str** | the id of the registration workflow. | [optional] +**email_attribute_id** | **str** | the id of the email attribute. | [optional] +**validate_completed_registration** | **bool** | If the action should validate against completed registrations by email address. | [optional] +**validate_open_registration** | **bool** | If the action should validate against open registrations by email address. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.invitation_action_configuration_attributes import InvitationActionConfigurationAttributes + +invitation_action_configuration_attributes = InvitationActionConfigurationAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +wait_for_completion=False, +return_profile=False, +portal_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +registration_workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +email_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +validate_completed_registration=False, +validate_open_registration=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/InvitationActionWorkflowActionEmailAttributes.md b/sailpoint/nerm/docs/Models/InvitationActionWorkflowActionEmailAttributes.md new file mode 100644 index 000000000..4e03fa8fd --- /dev/null +++ b/sailpoint/nerm/docs/Models/InvitationActionWorkflowActionEmailAttributes.md @@ -0,0 +1,39 @@ +--- +id: invitation-action-workflow-action-email-attributes +title: InvitationActionWorkflowActionEmailAttributes +pagination_label: InvitationActionWorkflowActionEmailAttributes +sidebar_label: InvitationActionWorkflowActionEmailAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'InvitationActionWorkflowActionEmailAttributes', 'InvitationActionWorkflowActionEmailAttributes'] +slug: /tools/sdk/python//models/invitation-action-workflow-action-email-attributes +tags: ['SDK', 'Software Development Kit', 'InvitationActionWorkflowActionEmailAttributes', 'InvitationActionWorkflowActionEmailAttributes'] +--- + +# InvitationActionWorkflowActionEmailAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**workflow_action_id** | **str** | the id of the workflow action. | [optional] +**email_id** | **str** | the id of the email. | [optional] +**type** | **Enum** [ 'StandardEmail', 'PerformerNotificationEmail', 'ApprovalEmail', 'RejectionEmail' ] | the type of email. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.invitation_action_workflow_action_email_attributes import InvitationActionWorkflowActionEmailAttributes + +invitation_action_workflow_action_email_attributes = InvitationActionWorkflowActionEmailAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +workflow_action_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +email_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +type='StandardEmail' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Job.md b/sailpoint/nerm/docs/Models/Job.md new file mode 100644 index 000000000..70385095a --- /dev/null +++ b/sailpoint/nerm/docs/Models/Job.md @@ -0,0 +1,39 @@ +--- +id: job +title: Job +pagination_label: Job +sidebar_label: Job +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Job', 'Job'] +slug: /tools/sdk/python//models/job +tags: ['SDK', 'Software Development Kit', 'Job', 'Job'] +--- + +# Job + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.job import Job + +job = Job( +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/JobJobStatus.md b/sailpoint/nerm/docs/Models/JobJobStatus.md new file mode 100644 index 000000000..74884bf30 --- /dev/null +++ b/sailpoint/nerm/docs/Models/JobJobStatus.md @@ -0,0 +1,35 @@ +--- +id: job-job-status +title: JobJobStatus +pagination_label: JobJobStatus +sidebar_label: JobJobStatus +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'JobJobStatus', 'JobJobStatus'] +slug: /tools/sdk/python//models/job-job-status +tags: ['SDK', 'Software Development Kit', 'JobJobStatus', 'JobJobStatus'] +--- + +# JobJobStatus + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | | [optional] +**status** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.job_job_status import JobJobStatus + +job_job_status = JobJobStatus( +job_id='3ce88e47ad6dba2ddf349d21', +status='queued' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Language.md b/sailpoint/nerm/docs/Models/Language.md new file mode 100644 index 000000000..126ab9af6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Language.md @@ -0,0 +1,37 @@ +--- +id: language +title: Language +pagination_label: Language +sidebar_label: Language +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Language', 'Language'] +slug: /tools/sdk/python//models/language +tags: ['SDK', 'Software Development Kit', 'Language', 'Language'] +--- + +# Language + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default** | **bool** | Set default to True to set a default language, to set another language to default, set default to True on the target language and the current default will become disabled | [optional] +**enabled** | **bool** | True when the language is enabled, False when it is not | [optional] +**locale** | **str** | The locale string for the language, current options are- en, fr, es, de, fr-CA | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.language import Language + +language = Language( +default=True, +enabled=True, +locale='es' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LdapAction.md b/sailpoint/nerm/docs/Models/LdapAction.md new file mode 100644 index 000000000..591fc3de6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/LdapAction.md @@ -0,0 +1,55 @@ +--- +id: ldap-action +title: LdapAction +pagination_label: LdapAction +sidebar_label: LdapAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LdapAction', 'LdapAction'] +slug: /tools/sdk/python//models/ldap-action +tags: ['SDK', 'Software Development Kit', 'LdapAction', 'LdapAction'] +--- + +# LdapAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**store_type** | **Enum** [ 'Local', 'Directory' ] | the type of store. | [required] +**ldap_action_user_roles_attributes** | [**LdapActionLdapActionUserRolesAttributes**](ldap-action-ldap-action-user-roles-attributes) | | [optional] +**workflow_action_value_builders_attributes** | [**LdapActionWorkflowActionValueBuildersAttributes**](ldap-action-workflow-action-value-builders-attributes) | | [optional] +**workflow_action_directory_groups_attributes** | [**LdapActionWorkflowActionDirectoryGroupsAttributes**](ldap-action-workflow-action-directory-groups-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.ldap_action import LdapAction + +ldap_action = LdapAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Create a Collaboration user account for this profile.', +archived=False, +store_type='Local', +ldap_action_user_roles_attributes=sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes.LdapAction_ldap_action_user_roles_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + role_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), +workflow_action_value_builders_attributes=sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes.LdapAction_workflow_action_value_builders_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + value_builder_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + position = 1, ), +workflow_action_directory_groups_attributes=sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes.LdapAction_workflow_action_directory_groups_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + directory_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + group_label = 'Admin', + group_dn = 'group', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LdapActionLdapActionUserRolesAttributes.md b/sailpoint/nerm/docs/Models/LdapActionLdapActionUserRolesAttributes.md new file mode 100644 index 000000000..b2b22c8bf --- /dev/null +++ b/sailpoint/nerm/docs/Models/LdapActionLdapActionUserRolesAttributes.md @@ -0,0 +1,35 @@ +--- +id: ldap-action-ldap-action-user-roles-attributes +title: LdapActionLdapActionUserRolesAttributes +pagination_label: LdapActionLdapActionUserRolesAttributes +sidebar_label: LdapActionLdapActionUserRolesAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LdapActionLdapActionUserRolesAttributes', 'LdapActionLdapActionUserRolesAttributes'] +slug: /tools/sdk/python//models/ldap-action-ldap-action-user-roles-attributes +tags: ['SDK', 'Software Development Kit', 'LdapActionLdapActionUserRolesAttributes', 'LdapActionLdapActionUserRolesAttributes'] +--- + +# LdapActionLdapActionUserRolesAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**role_id** | **str** | the id of the role. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes import LdapActionLdapActionUserRolesAttributes + +ldap_action_ldap_action_user_roles_attributes = LdapActionLdapActionUserRolesAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +role_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LdapActionWorkflowActionDirectoryGroupsAttributes.md b/sailpoint/nerm/docs/Models/LdapActionWorkflowActionDirectoryGroupsAttributes.md new file mode 100644 index 000000000..efc461814 --- /dev/null +++ b/sailpoint/nerm/docs/Models/LdapActionWorkflowActionDirectoryGroupsAttributes.md @@ -0,0 +1,39 @@ +--- +id: ldap-action-workflow-action-directory-groups-attributes +title: LdapActionWorkflowActionDirectoryGroupsAttributes +pagination_label: LdapActionWorkflowActionDirectoryGroupsAttributes +sidebar_label: LdapActionWorkflowActionDirectoryGroupsAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LdapActionWorkflowActionDirectoryGroupsAttributes', 'LdapActionWorkflowActionDirectoryGroupsAttributes'] +slug: /tools/sdk/python//models/ldap-action-workflow-action-directory-groups-attributes +tags: ['SDK', 'Software Development Kit', 'LdapActionWorkflowActionDirectoryGroupsAttributes', 'LdapActionWorkflowActionDirectoryGroupsAttributes'] +--- + +# LdapActionWorkflowActionDirectoryGroupsAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**directory_id** | **str** | the id of the directory. | [optional] +**group_label** | **str** | the group label. | [optional] +**group_dn** | **str** | the group dn. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes import LdapActionWorkflowActionDirectoryGroupsAttributes + +ldap_action_workflow_action_directory_groups_attributes = LdapActionWorkflowActionDirectoryGroupsAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +directory_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +group_label='Admin', +group_dn='group' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LdapActionWorkflowActionValueBuildersAttributes.md b/sailpoint/nerm/docs/Models/LdapActionWorkflowActionValueBuildersAttributes.md new file mode 100644 index 000000000..33162498f --- /dev/null +++ b/sailpoint/nerm/docs/Models/LdapActionWorkflowActionValueBuildersAttributes.md @@ -0,0 +1,39 @@ +--- +id: ldap-action-workflow-action-value-builders-attributes +title: LdapActionWorkflowActionValueBuildersAttributes +pagination_label: LdapActionWorkflowActionValueBuildersAttributes +sidebar_label: LdapActionWorkflowActionValueBuildersAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LdapActionWorkflowActionValueBuildersAttributes', 'LdapActionWorkflowActionValueBuildersAttributes'] +slug: /tools/sdk/python//models/ldap-action-workflow-action-value-builders-attributes +tags: ['SDK', 'Software Development Kit', 'LdapActionWorkflowActionValueBuildersAttributes', 'LdapActionWorkflowActionValueBuildersAttributes'] +--- + +# LdapActionWorkflowActionValueBuildersAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**workflow_action_id** | **str** | the id of the workflow action. | [optional] +**value_builder_id** | **str** | the id of the value builder. | [optional] +**position** | **int** | the position of the value builder attribute. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes import LdapActionWorkflowActionValueBuildersAttributes + +ldap_action_workflow_action_value_builders_attributes = LdapActionWorkflowActionValueBuildersAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +workflow_action_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +value_builder_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +position=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LoginWorkflow.md b/sailpoint/nerm/docs/Models/LoginWorkflow.md new file mode 100644 index 000000000..6fd25f40f --- /dev/null +++ b/sailpoint/nerm/docs/Models/LoginWorkflow.md @@ -0,0 +1,44 @@ +--- +id: login-workflow +title: LoginWorkflow +pagination_label: LoginWorkflow +sidebar_label: LoginWorkflow +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LoginWorkflow', 'LoginWorkflow'] +slug: /tools/sdk/python//models/login-workflow +tags: ['SDK', 'Software Development Kit', 'LoginWorkflow', 'LoginWorkflow'] +--- + +# LoginWorkflow + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The profile type the workflow effects. | [required] +**status** | **Enum** [ 'Enabled', 'Disabled' ] | Whether or not the workflow is enabled or disabled. | [required] +**uid** | **str** | The user-specified identifier of the workflow. | [required] +**name** | **str** | Name of the workflow | [required] +**options** | [**LoginWorkflowOptions**](login-workflow-options) | | [optional] +**disable_failure_email_notifications** | **bool** | When honored at runtime, suppresses failure email notifications for this workflow's sessions. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.login_workflow import LoginWorkflow + +login_workflow = LoginWorkflow( +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Enabled', +uid='my_uid', +name='my_workflow', +options=sailpoint.nerm.models.login_workflow_options.LoginWorkflow_options( + expiration_time = 1, ), +disable_failure_email_notifications=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/LoginWorkflowOptions.md b/sailpoint/nerm/docs/Models/LoginWorkflowOptions.md new file mode 100644 index 000000000..02a4f042e --- /dev/null +++ b/sailpoint/nerm/docs/Models/LoginWorkflowOptions.md @@ -0,0 +1,33 @@ +--- +id: login-workflow-options +title: LoginWorkflowOptions +pagination_label: LoginWorkflowOptions +sidebar_label: LoginWorkflowOptions +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'LoginWorkflowOptions', 'LoginWorkflowOptions'] +slug: /tools/sdk/python//models/login-workflow-options +tags: ['SDK', 'Software Development Kit', 'LoginWorkflowOptions', 'LoginWorkflowOptions'] +--- + +# LoginWorkflowOptions + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**expiration_time** | **int** | Used for login/password reset for when the password will expire. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.login_workflow_options import LoginWorkflowOptions + +login_workflow_options = LoginWorkflowOptions( +expiration_time=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Metadata.md b/sailpoint/nerm/docs/Models/Metadata.md new file mode 100644 index 000000000..d07a26aa3 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Metadata.md @@ -0,0 +1,41 @@ +--- +id: metadata +title: Metadata +pagination_label: Metadata +sidebar_label: Metadata +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Metadata', 'Metadata'] +slug: /tools/sdk/python//models/metadata +tags: ['SDK', 'Software Development Kit', 'Metadata', 'Metadata'] +--- + +# Metadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**total** | **int** | | [optional] +**next** | **str** | | [optional] +**previous** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.metadata import Metadata + +metadata = Metadata( +limit=56, +offset=56, +total=56, +next='/endpoint?limit=10&offset=60', +previous='/endpoint?limit=10&offset=40' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/MetadataWithAfterId.md b/sailpoint/nerm/docs/Models/MetadataWithAfterId.md new file mode 100644 index 000000000..df905c7c6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/MetadataWithAfterId.md @@ -0,0 +1,43 @@ +--- +id: metadata-with-after-id +title: MetadataWithAfterId +pagination_label: MetadataWithAfterId +sidebar_label: MetadataWithAfterId +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'MetadataWithAfterId', 'MetadataWithAfterId'] +slug: /tools/sdk/python//models/metadata-with-after-id +tags: ['SDK', 'Software Development Kit', 'MetadataWithAfterId', 'MetadataWithAfterId'] +--- + +# MetadataWithAfterId + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The maximum number of records to return in the search | [optional] +**offset** | **int** | The number of records to skip before starting to return results. | [optional] +**total** | **int** | The total number of records available matching the search criteria. | [optional] +**next** | **str** | The ID of the first record in the next set of results | [optional] +**previous** | **str** | The ID of the last record in the previous set of results | [optional] +**after_id** | **str** | The ID from which the search will start, ignoring all records before it. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.metadata_with_after_id import MetadataWithAfterId + +metadata_with_after_id = MetadataWithAfterId( +limit=56, +offset=56, +total=56, +next='/endpoint?limit=10&offset=60', +previous='/endpoint?limit=10&offset=40', +after_id='4eaa719f-4312-4c5b-9264-d0eb04d4a02a' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/NotificationAction.md b/sailpoint/nerm/docs/Models/NotificationAction.md new file mode 100644 index 000000000..1b5fb74e4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/NotificationAction.md @@ -0,0 +1,47 @@ +--- +id: notification-action +title: NotificationAction +pagination_label: NotificationAction +sidebar_label: NotificationAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'NotificationAction', 'NotificationAction'] +slug: /tools/sdk/python//models/notification-action +tags: ['SDK', 'Software Development Kit', 'NotificationAction', 'NotificationAction'] +--- + +# NotificationAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**email_attribute_id** | **str** | The attribute storing the email address for the workflow action. | [optional] +**email_addresses** | **[]str** | The email addresses for the workflow action. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**workflow_action_email_attributes** | [**NotificationActionWorkflowActionEmailAttributes**](notification-action-workflow-action-email-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.notification_action import NotificationAction + +notification_action = NotificationAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Send a notification to a group of users.', +email_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +email_addresses=[johndoe@gmail.com, janedoe@gmail.com], +archived=False, +workflow_action_email_attributes=sailpoint.nerm.models.notification_action_workflow_action_email_attributes.NotificationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/NotificationActionWorkflowActionEmailAttributes.md b/sailpoint/nerm/docs/Models/NotificationActionWorkflowActionEmailAttributes.md new file mode 100644 index 000000000..2c01754cb --- /dev/null +++ b/sailpoint/nerm/docs/Models/NotificationActionWorkflowActionEmailAttributes.md @@ -0,0 +1,39 @@ +--- +id: notification-action-workflow-action-email-attributes +title: NotificationActionWorkflowActionEmailAttributes +pagination_label: NotificationActionWorkflowActionEmailAttributes +sidebar_label: NotificationActionWorkflowActionEmailAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'NotificationActionWorkflowActionEmailAttributes', 'NotificationActionWorkflowActionEmailAttributes'] +slug: /tools/sdk/python//models/notification-action-workflow-action-email-attributes +tags: ['SDK', 'Software Development Kit', 'NotificationActionWorkflowActionEmailAttributes', 'NotificationActionWorkflowActionEmailAttributes'] +--- + +# NotificationActionWorkflowActionEmailAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**workflow_action_id** | **str** | the id of the workflow action. | [optional] +**email_id** | **str** | the id of the email. | [optional] +**type** | **Enum** [ 'StandardEmail' ] | the type of email. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.notification_action_workflow_action_email_attributes import NotificationActionWorkflowActionEmailAttributes + +notification_action_workflow_action_email_attributes = NotificationActionWorkflowActionEmailAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +workflow_action_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +email_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +type='StandardEmail' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageContent.md b/sailpoint/nerm/docs/Models/PageContent.md new file mode 100644 index 000000000..f95c18c41 --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageContent.md @@ -0,0 +1,43 @@ +--- +id: page-content +title: PageContent +pagination_label: PageContent +sidebar_label: PageContent +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageContent', 'PageContent'] +slug: /tools/sdk/python//models/page-content +tags: ['SDK', 'Software Development Kit', 'PageContent', 'PageContent'] +--- + +# PageContent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the page content | [optional] [readonly] +**uid** | **str** | The user-specified identifier for the record | [optional] +**type** | **Enum** [ 'FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar' ] | The type of content on the page. | [required] +**content** | **str** | The text content to present in this page content record. | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.page_content import PageContent + +page_content = PageContent( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='first_text_body', +type='MediumHeading', +content='Lorem Ipsum yadda yaddda bing bang.', +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageContent1.md b/sailpoint/nerm/docs/Models/PageContent1.md new file mode 100644 index 000000000..5d36265f0 --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageContent1.md @@ -0,0 +1,37 @@ +--- +id: page-content1 +title: PageContent1 +pagination_label: PageContent1 +sidebar_label: PageContent1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageContent1', 'PageContent1'] +slug: /tools/sdk/python//models/page-content1 +tags: ['SDK', 'Software Development Kit', 'PageContent1', 'PageContent1'] +--- + +# PageContent1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier for the record | [optional] +**type** | **Enum** [ 'FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar' ] | The type of content on the page. | [required] +**content** | **str** | The text content to present in this page content record. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.page_content1 import PageContent1 + +page_content1 = PageContent1( +uid='first_text_body', +type='MediumHeading', +content='Lorem Ipsum yadda yaddda bing bang.' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageContentTranslation.md b/sailpoint/nerm/docs/Models/PageContentTranslation.md new file mode 100644 index 000000000..8977e78f2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageContentTranslation.md @@ -0,0 +1,43 @@ +--- +id: page-content-translation +title: PageContentTranslation +pagination_label: PageContentTranslation +sidebar_label: PageContentTranslation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageContentTranslation', 'PageContentTranslation'] +slug: /tools/sdk/python//models/page-content-translation +tags: ['SDK', 'Software Development Kit', 'PageContentTranslation', 'PageContentTranslation'] +--- + +# PageContentTranslation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the page content | [optional] [readonly] +**uid** | **str** | The user-specified identifier for the record | [optional] +**locale** | **str** | The language locale this translation contains. | [optional] +**value** | **str** | The translated string to present in the user interface. | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.page_content_translation import PageContentTranslation + +page_content_translation = PageContentTranslation( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='page_content_transation_great_es_es', +locale='es-ES', +value='Es stupendo!', +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageContentTranslation1.md b/sailpoint/nerm/docs/Models/PageContentTranslation1.md new file mode 100644 index 000000000..0104ef97e --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageContentTranslation1.md @@ -0,0 +1,41 @@ +--- +id: page-content-translation1 +title: PageContentTranslation1 +pagination_label: PageContentTranslation1 +sidebar_label: PageContentTranslation1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageContentTranslation1', 'PageContentTranslation1'] +slug: /tools/sdk/python//models/page-content-translation1 +tags: ['SDK', 'Software Development Kit', 'PageContentTranslation1', 'PageContentTranslation1'] +--- + +# PageContentTranslation1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier for the record | [optional] +**page_content_uid** | **str** | The user-specified identifier of the page content record this translation applies to; one of page_content_id or page_content_uid must be present. | [optional] +**page_content_id** | **str** | The id of the page content record this translation applies to; one of page_content_id or page_content_uid must be present. | [optional] +**locale** | **str** | The language locale this translation contains. | [optional] +**value** | **str** | The translated string to present in the user interface. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.page_content_translation1 import PageContentTranslation1 + +page_content_translation1 = PageContentTranslation1( +uid='page_content_translation_spanish_great', +page_content_uid='', +page_content_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +locale='es-ES', +value='Es stupendo!' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageElement.md b/sailpoint/nerm/docs/Models/PageElement.md new file mode 100644 index 000000000..e8719d81b --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageElement.md @@ -0,0 +1,47 @@ +--- +id: page-element +title: PageElement +pagination_label: PageElement +sidebar_label: PageElement +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageElement', 'PageElement'] +slug: /tools/sdk/python//models/page-element +tags: ['SDK', 'Software Development Kit', 'PageElement', 'PageElement'] +--- + +# PageElement + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the page element | [optional] [readonly] +**uid** | **str** | The user-specified identifier for the record | [optional] +**element_type** | **Enum** [ 'PageContent', 'Form' ] | The type of content on the page. | [required] +**page_uid** | **str** | The user-specified identifier of the page record this applies to; one of page_id or page_uid must be present. | [optional] +**page_id** | **str** | The id of the page record this applies to; one of page_id or page_uid must be present. | [optional] +**element_uid** | **str** | The user-specified identifier of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present. | [optional] +**element_id** | **str** | The id of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present. | [optional] +**order** | **int** | The position of the attribute in the ProfileType's naming | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.page_element import PageElement + +page_element = PageElement( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='first_text_body', +element_type='PageContent', +page_uid='', +page_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +element_uid='', +element_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +order=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PageElement1.md b/sailpoint/nerm/docs/Models/PageElement1.md new file mode 100644 index 000000000..db3cc1a5f --- /dev/null +++ b/sailpoint/nerm/docs/Models/PageElement1.md @@ -0,0 +1,47 @@ +--- +id: page-element1 +title: PageElement1 +pagination_label: PageElement1 +sidebar_label: PageElement1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PageElement1', 'PageElement1'] +slug: /tools/sdk/python//models/page-element1 +tags: ['SDK', 'Software Development Kit', 'PageElement1', 'PageElement1'] +--- + +# PageElement1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the page content | [optional] [readonly] +**uid** | **str** | The user-specified identifier for the record | [optional] +**element_type** | **Enum** [ 'PageContent', 'Form' ] | The type of content on the page. | [required] +**page_uid** | **str** | The user-specified identifier of the page record this applies to; one of page_id or page_uid must be present. | [optional] +**page_id** | **str** | The id of the page record this applies to; one of page_id or page_uid must be present. | [optional] +**element_uid** | **str** | The user-specified identifier of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present. | [optional] +**element_id** | **str** | The id of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present. | [optional] +**order** | **int** | The ordinal position of the attribute in the user-interface page. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.page_element1 import PageElement1 + +page_element1 = PageElement1( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='first_text_body', +element_type='PageContent', +page_uid='', +page_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +element_uid='', +element_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +order=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Pages.md b/sailpoint/nerm/docs/Models/Pages.md new file mode 100644 index 000000000..bf336ef5f --- /dev/null +++ b/sailpoint/nerm/docs/Models/Pages.md @@ -0,0 +1,41 @@ +--- +id: pages +title: Pages +pagination_label: Pages +sidebar_label: Pages +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Pages', 'Pages'] +slug: /tools/sdk/python//models/pages +tags: ['SDK', 'Software Development Kit', 'Pages', 'Pages'] +--- + +# Pages + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the page | [optional] +**description** | **str** | The description of the page | [optional] +**name** | **str** | The name of the page | [optional] +**archived** | **bool** | Determines whether the page is archived | [optional] +**id** | **str** | The id of the form | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.pages import Pages + +pages = Pages( +uid='page_uid', +description='Page for workflow', +name='My Page Name', +archived=False, +id='2e06b876-f456-473d-bd65-b6435e0b6b2d' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PasswordResetAction.md b/sailpoint/nerm/docs/Models/PasswordResetAction.md new file mode 100644 index 000000000..cb0682d7b --- /dev/null +++ b/sailpoint/nerm/docs/Models/PasswordResetAction.md @@ -0,0 +1,37 @@ +--- +id: password-reset-action +title: PasswordResetAction +pagination_label: PasswordResetAction +sidebar_label: PasswordResetAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PasswordResetAction', 'PasswordResetAction'] +slug: /tools/sdk/python//models/password-reset-action +tags: ['SDK', 'Software Development Kit', 'PasswordResetAction', 'PasswordResetAction'] +--- + +# PasswordResetAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.password_reset_action import PasswordResetAction + +password_reset_action = PasswordResetAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Prompt the user to reset their password.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/PatchLanguageRequest.md b/sailpoint/nerm/docs/Models/PatchLanguageRequest.md new file mode 100644 index 000000000..c2b1585ed --- /dev/null +++ b/sailpoint/nerm/docs/Models/PatchLanguageRequest.md @@ -0,0 +1,36 @@ +--- +id: patch-language-request +title: PatchLanguageRequest +pagination_label: PatchLanguageRequest +sidebar_label: PatchLanguageRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'PatchLanguageRequest', 'PatchLanguageRequest'] +slug: /tools/sdk/python//models/patch-language-request +tags: ['SDK', 'Software Development Kit', 'PatchLanguageRequest', 'PatchLanguageRequest'] +--- + +# PatchLanguageRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**language** | [**Language**](language) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.patch_language_request import PatchLanguageRequest + +patch_language_request = PatchLanguageRequest( +language=sailpoint.nerm.models.language.Language( + default = True, + enabled = True, + locale = 'es', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Permission.md b/sailpoint/nerm/docs/Models/Permission.md new file mode 100644 index 000000000..e8114f784 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Permission.md @@ -0,0 +1,41 @@ +--- +id: permission +title: Permission +pagination_label: Permission +sidebar_label: Permission +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Permission', 'Permission'] +slug: /tools/sdk/python//models/permission +tags: ['SDK', 'Software Development Kit', 'Permission', 'Permission'] +--- + +# Permission + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the permission | [optional] [readonly] +**role_id** | **str** | The id of the role | [optional] +**value** | **int** | The permissions level of access | [optional] +**subject** | **int** | The type of permission | [optional] +**subject_id** | **str** | The ID of the object that the permission is giving access to | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.permission import Permission + +permission = Permission( +id='2e06b876-f456-473d-bd65-b6435e0b6b2d', +role_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +value=1, +subject=1, +subject_id='db3d85ef-c324-458b-b206-58debaa96419' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Permission1.md b/sailpoint/nerm/docs/Models/Permission1.md new file mode 100644 index 000000000..d8aa81491 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Permission1.md @@ -0,0 +1,39 @@ +--- +id: permission1 +title: Permission1 +pagination_label: Permission1 +sidebar_label: Permission1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Permission1', 'Permission1'] +slug: /tools/sdk/python//models/permission1 +tags: ['SDK', 'Software Development Kit', 'Permission1', 'Permission1'] +--- + +# Permission1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_id** | **str** | The id of the role | [optional] +**subject_id** | **str** | The ID of the object that the permission is giving access to | [optional] +**value** | **Enum** [ 1, 2, 3, 4, 5, 6, 7 ] | The permissions level of access | [optional] +**subject** | **Enum** [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 ] | The type of permission | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.permission1 import Permission1 + +permission1 = Permission1( +role_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +subject_id='db3d85ef-c324-458b-b206-58debaa96419', +value=1, +subject=0 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Profile.md b/sailpoint/nerm/docs/Models/Profile.md new file mode 100644 index 000000000..7a526398c --- /dev/null +++ b/sailpoint/nerm/docs/Models/Profile.md @@ -0,0 +1,49 @@ +--- +id: profile +title: Profile +pagination_label: Profile +sidebar_label: Profile +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Profile', 'Profile'] +slug: /tools/sdk/python//models/profile +tags: ['SDK', 'Software Development Kit', 'Profile', 'Profile'] +--- + +# Profile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The objects ID | [optional] [readonly] +**uid** | **str** | The objects UID | [optional] [readonly] +**name** | **str** | This is the name of the profile. | [optional] +**profile_type_id** | **str** | This is the ID of the profile type the profile belongs to | [optional] +**status** | **Enum** [ 'Active', 'Inactive', 'On Leave', 'Terminated' ] | This is the status of the profile | [optional] +**id_proofing_status** | **Enum** [ 'pending', 'pass', 'fail' ] | This is the ID proofing staus of the profile | [optional] +**created_at** | **datetime** | The date and time the profile was created | [optional] +**updated_at** | **datetime** | The date and time the profile was updated | [optional] +**attributes** | **map[string]str** | Attributes that belong to this profile. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile import Profile + +profile = Profile( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +uid='profileUid', +name='Profile Name', +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Active', +id_proofing_status='pending', +created_at='2023-11-21T14:23:54.256-05:00', +updated_at='2023-11-21T14:23:54.256-05:00', +attributes={Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Profile1.md b/sailpoint/nerm/docs/Models/Profile1.md new file mode 100644 index 000000000..8e2b0d059 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Profile1.md @@ -0,0 +1,43 @@ +--- +id: profile1 +title: Profile1 +pagination_label: Profile1 +sidebar_label: Profile1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Profile1', 'Profile1'] +slug: /tools/sdk/python//models/profile1 +tags: ['SDK', 'Software Development Kit', 'Profile1', 'Profile1'] +--- + +# Profile1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The profile name. | [optional] +**profile_type_id** | **str** | The profile type id. | [required] +**status** | **Enum** [ 'Active', 'Inactive', 'On Leave', 'Terminated' ] | The profile status. | [required] +**id_proofing_status** | **Enum** [ 'pending', 'pass', 'fail' ] | The id proofing status of the profile. | [optional] +**archived** | **bool** | Describes whether the profile is archived or not. | [optional] [default to False] +**attributes** | **map[string]str** | The attributes associated with the profile. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile1 import Profile1 + +profile1 = Profile1( +name='First Last', +profile_type_id='79ed1cb6-9977-4965-9bfe-f2bcc2424444', +status='Active', +id_proofing_status='pass', +archived=False, +attributes={text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate.md new file mode 100644 index 000000000..9fa579eb7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate.md @@ -0,0 +1,53 @@ +--- +id: profile-attribute-rule-date +title: ProfileAttributeRuleDate +pagination_label: ProfileAttributeRuleDate +sidebar_label: ProfileAttributeRuleDate +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleDate', 'ProfileAttributeRuleDate'] +slug: /tools/sdk/python//models/profile-attribute-rule-date +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleDate', 'ProfileAttributeRuleDate'] +--- + +# ProfileAttributeRuleDate + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'DateAttribute' ] | | [required] +**condition_object_id** | **str** | | [optional] +**secondary_attribute_type** | **Enum** [ 'DateAttribute' ] | | [optional] +**secondary_attribute_id** | **str** | | [optional] +**comparison_operator** | **Enum** [ '>', '<', 'after', 'before' ] | | [optional] +**value** | **Enum** [ 'Today', '' ] | | [required] +**secondary_value** | **Enum** [ 'after', 'before' ] | | [optional] +**tertiary_value** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_date import ProfileAttributeRuleDate + +profile_attribute_rule_date = ProfileAttributeRuleDate( +id='', +uid='', +type='ProfileAttributeRule', +condition_object_type='DateAttribute', +condition_object_id='', +secondary_attribute_type='DateAttribute', +secondary_attribute_id='', +comparison_operator='>', +value='Today', +secondary_value='after', +tertiary_value='30' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate1.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate1.md new file mode 100644 index 000000000..959312c92 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleDate1.md @@ -0,0 +1,49 @@ +--- +id: profile-attribute-rule-date1 +title: ProfileAttributeRuleDate1 +pagination_label: ProfileAttributeRuleDate1 +sidebar_label: ProfileAttributeRuleDate1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleDate1', 'ProfileAttributeRuleDate1'] +slug: /tools/sdk/python//models/profile-attribute-rule-date1 +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleDate1', 'ProfileAttributeRuleDate1'] +--- + +# ProfileAttributeRuleDate1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'DateAttribute' ] | | [required] +**condition_object_id** | **str** | | [optional] +**secondary_attribute_type** | **Enum** [ 'DateAttribute' ] | | [optional] +**secondary_attribute_id** | **str** | | [optional] +**comparison_operator** | **Enum** [ '>', '<', 'after', 'before' ] | | [optional] +**value** | **Enum** [ 'Today', '' ] | | [required] +**secondary_value** | **Enum** [ 'after', 'before' ] | | [optional] +**tertiary_value** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_date1 import ProfileAttributeRuleDate1 + +profile_attribute_rule_date1 = ProfileAttributeRuleDate1( +type='ProfileAttributeRule', +condition_object_type='DateAttribute', +condition_object_id='', +secondary_attribute_type='DateAttribute', +secondary_attribute_id='', +comparison_operator='>', +value='Today', +secondary_value='after', +tertiary_value='30' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleId.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleId.md new file mode 100644 index 000000000..ff3a5e092 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleId.md @@ -0,0 +1,45 @@ +--- +id: profile-attribute-rule-id +title: ProfileAttributeRuleId +pagination_label: ProfileAttributeRuleId +sidebar_label: ProfileAttributeRuleId +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleId', 'ProfileAttributeRuleId'] +slug: /tools/sdk/python//models/profile-attribute-rule-id +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleId', 'ProfileAttributeRuleId'] +--- + +# ProfileAttributeRuleId + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**comparison_operator** | **Enum** [ 'include?', 'exclude?' ] | | [required] +**value** | **str** | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_id import ProfileAttributeRuleId + +profile_attribute_rule_id = ProfileAttributeRuleId( +id='', +uid='', +type='ProfileAttributeRule', +condition_object_type='ProfileSelectAttribute', +condition_object_id='', +comparison_operator='include?', +value='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleId1.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleId1.md new file mode 100644 index 000000000..f8381aec5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleId1.md @@ -0,0 +1,41 @@ +--- +id: profile-attribute-rule-id1 +title: ProfileAttributeRuleId1 +pagination_label: ProfileAttributeRuleId1 +sidebar_label: ProfileAttributeRuleId1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleId1', 'ProfileAttributeRuleId1'] +slug: /tools/sdk/python//models/profile-attribute-rule-id1 +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleId1', 'ProfileAttributeRuleId1'] +--- + +# ProfileAttributeRuleId1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**comparison_operator** | **Enum** [ 'include?', 'exclude?' ] | | [required] +**value** | **str** | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_id1 import ProfileAttributeRuleId1 + +profile_attribute_rule_id1 = ProfileAttributeRuleId1( +type='ProfileAttributeRule', +condition_object_type='ProfileSelectAttribute', +condition_object_id='', +comparison_operator='include?', +value='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleString.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleString.md new file mode 100644 index 000000000..04ba45c49 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleString.md @@ -0,0 +1,45 @@ +--- +id: profile-attribute-rule-string +title: ProfileAttributeRuleString +pagination_label: ProfileAttributeRuleString +sidebar_label: ProfileAttributeRuleString +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleString', 'ProfileAttributeRuleString'] +slug: /tools/sdk/python//models/profile-attribute-rule-string +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleString', 'ProfileAttributeRuleString'] +--- + +# ProfileAttributeRuleString + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'TextFieldAttribute', 'TextAreaAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**comparison_operator** | **Enum** [ '==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?' ] | | [required] +**value** | **str** | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_string import ProfileAttributeRuleString + +profile_attribute_rule_string = ProfileAttributeRuleString( +id='', +uid='', +type='ProfileAttributeRule', +condition_object_type='TextFieldAttribute', +condition_object_id='', +comparison_operator='==', +value='Some value' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileAttributeRuleString1.md b/sailpoint/nerm/docs/Models/ProfileAttributeRuleString1.md new file mode 100644 index 000000000..eff3b76cf --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileAttributeRuleString1.md @@ -0,0 +1,41 @@ +--- +id: profile-attribute-rule-string1 +title: ProfileAttributeRuleString1 +pagination_label: ProfileAttributeRuleString1 +sidebar_label: ProfileAttributeRuleString1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileAttributeRuleString1', 'ProfileAttributeRuleString1'] +slug: /tools/sdk/python//models/profile-attribute-rule-string1 +tags: ['SDK', 'Software Development Kit', 'ProfileAttributeRuleString1', 'ProfileAttributeRuleString1'] +--- + +# ProfileAttributeRuleString1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileAttributeRule' ] | | [required] +**condition_object_type** | **Enum** [ 'TextFieldAttribute', 'TextAreaAttribute' ] | | [required] +**condition_object_id** | **str** | | [required] +**comparison_operator** | **Enum** [ '==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?' ] | | [required] +**value** | **str** | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_attribute_rule_string1 import ProfileAttributeRuleString1 + +profile_attribute_rule_string1 = ProfileAttributeRuleString1( +type='ProfileAttributeRule', +condition_object_type='TextFieldAttribute', +condition_object_id='', +comparison_operator='==', +value='Some value' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileCheckAction.md b/sailpoint/nerm/docs/Models/ProfileCheckAction.md new file mode 100644 index 000000000..7bf397523 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileCheckAction.md @@ -0,0 +1,43 @@ +--- +id: profile-check-action +title: ProfileCheckAction +pagination_label: ProfileCheckAction +sidebar_label: ProfileCheckAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileCheckAction', 'ProfileCheckAction'] +slug: /tools/sdk/python//models/profile-check-action +tags: ['SDK', 'Software Development Kit', 'ProfileCheckAction', 'ProfileCheckAction'] +--- + +# ProfileCheckAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**ne_attribute_ids** | **[]str** | An array of ne_attribute_ids. | [optional] +**handle_type** | **Enum** [ 'session', 'attribute' ] | The handle type for what should happen if an existing profile is found. | [optional] +**handle_id** | **str** | The handle id. When handle type is session, this is the session id. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_check_action import ProfileCheckAction + +profile_check_action = ProfileCheckAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Finds a profile based on selected attributes and values found in the session.', +archived=False, +ne_attribute_ids=[33f072dd-13b4-41e1-8ea0-16f2a59b57c8], +handle_type='session', +handle_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfilePage.md b/sailpoint/nerm/docs/Models/ProfilePage.md new file mode 100644 index 000000000..18a9857bd --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfilePage.md @@ -0,0 +1,39 @@ +--- +id: profile-page +title: ProfilePage +pagination_label: ProfilePage +sidebar_label: ProfilePage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfilePage', 'ProfilePage'] +slug: /tools/sdk/python//models/profile-page +tags: ['SDK', 'Software Development Kit', 'ProfilePage', 'ProfilePage'] +--- + +# ProfilePage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the page | [optional] +**description** | **str** | The description of the page | [optional] +**name** | **str** | The name of the page | [optional] +**archived** | **bool** | Determines whether the page is archived | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_page import ProfilePage + +profile_page = ProfilePage( +uid='page_uid', +description='Page for workflow', +name='My Page Name', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileSelectAction.md b/sailpoint/nerm/docs/Models/ProfileSelectAction.md new file mode 100644 index 000000000..ce3f81a76 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileSelectAction.md @@ -0,0 +1,37 @@ +--- +id: profile-select-action +title: ProfileSelectAction +pagination_label: ProfileSelectAction +sidebar_label: ProfileSelectAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileSelectAction', 'ProfileSelectAction'] +slug: /tools/sdk/python//models/profile-select-action +tags: ['SDK', 'Software Development Kit', 'ProfileSelectAction', 'ProfileSelectAction'] +--- + +# ProfileSelectAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.profile_select_action import ProfileSelectAction + +profile_select_action = ProfileSelectAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Select the profiles that you want to run this workflow for.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileStatusRule.md b/sailpoint/nerm/docs/Models/ProfileStatusRule.md new file mode 100644 index 000000000..859d1d0db --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileStatusRule.md @@ -0,0 +1,41 @@ +--- +id: profile-status-rule +title: ProfileStatusRule +pagination_label: ProfileStatusRule +sidebar_label: ProfileStatusRule +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileStatusRule', 'ProfileStatusRule'] +slug: /tools/sdk/python//models/profile-status-rule +tags: ['SDK', 'Software Development Kit', 'ProfileStatusRule', 'ProfileStatusRule'] +--- + +# ProfileStatusRule + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileStatusRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '!=' ] | | [optional] +**value** | **Enum** [ 'Active', 'Inactive', 'Leave of absence', 'Terminated' ] | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_status_rule import ProfileStatusRule + +profile_status_rule = ProfileStatusRule( +id='', +uid='', +type='ProfileStatusRule', +comparison_operator='==', +value='Active' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileStatusRule1.md b/sailpoint/nerm/docs/Models/ProfileStatusRule1.md new file mode 100644 index 000000000..f831ee61e --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileStatusRule1.md @@ -0,0 +1,37 @@ +--- +id: profile-status-rule1 +title: ProfileStatusRule1 +pagination_label: ProfileStatusRule1 +sidebar_label: ProfileStatusRule1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileStatusRule1', 'ProfileStatusRule1'] +slug: /tools/sdk/python//models/profile-status-rule1 +tags: ['SDK', 'Software Development Kit', 'ProfileStatusRule1', 'ProfileStatusRule1'] +--- + +# ProfileStatusRule1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileStatusRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '!=' ] | | [required] +**value** | **Enum** [ 'Active', 'Inactive', 'Leave of absence', 'Terminated' ] | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_status_rule1 import ProfileStatusRule1 + +profile_status_rule1 = ProfileStatusRule1( +type='ProfileStatusRule', +comparison_operator='==', +value='Active' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileType.md b/sailpoint/nerm/docs/Models/ProfileType.md new file mode 100644 index 000000000..d13703272 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileType.md @@ -0,0 +1,64 @@ +--- +id: profile-type +title: ProfileType +pagination_label: ProfileType +sidebar_label: ProfileType +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileType', 'ProfileType'] +slug: /tools/sdk/python//models/profile-type +tags: ['SDK', 'Software Development Kit', 'ProfileType', 'ProfileType'] +--- + +# ProfileType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The objects ID. | [optional] [readonly] +**uid** | **str** | The objects UID. | [optional] [readonly] +**name** | **str** | This is the name of the profile type. | [optional] +**category** | **Enum** [ 'employee', 'non-employee', 'organization', 'assignment', 'other' ] | This is the category the profile type falls into. | [optional] +**bypass_dup_protection** | **bool** | Whether or not duplication protection is bypassed. | [optional] +**archived** | **bool** | Whether or not the profile type is archived. | [optional] +**permitted_role_ids** | **[]str** | The role ids that are permitted for this profile type. | [optional] +**isc_synced** | **bool** | Is this profile type synced with ics | [optional] +**profile_type_dup_attributes** | [**[]ProfileTypeProfileTypeDupAttributesInner**](profile-type-profile-type-dup-attributes-inner) | | [optional] +**profile_type_namings** | [**[]ProfileTypeProfileTypeNamingsInner**](profile-type-profile-type-namings-inner) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type import ProfileType + +profile_type = ProfileType( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +uid='ptUid', +name='Worker', +category='employee', +bypass_dup_protection=False, +archived=False, +permitted_role_ids=[33f072dd-13b4-41e1-8ea0-16f2a59b57c8], +isc_synced=False, +profile_type_dup_attributes=[ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], +profile_type_namings=[ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileType1.md b/sailpoint/nerm/docs/Models/ProfileType1.md new file mode 100644 index 000000000..5abeeb974 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileType1.md @@ -0,0 +1,54 @@ +--- +id: profile-type1 +title: ProfileType1 +pagination_label: ProfileType1 +sidebar_label: ProfileType1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileType1', 'ProfileType1'] +slug: /tools/sdk/python//models/profile-type1 +tags: ['SDK', 'Software Development Kit', 'ProfileType1', 'ProfileType1'] +--- + +# ProfileType1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | This is the name of the profile type. | [optional] +**category** | **Enum** [ 'employee', 'non-employee', 'organization', 'assignment', 'other' ] | This is the category the profile type falls into. | [optional] +**bypass_dup_protection** | **bool** | Whether or not duplication protection is bypassed. | [optional] [default to False] +**archived** | **bool** | Whether or not the profile type is archived. | [optional] [default to False] +**permitted_role_ids** | **[]str** | The role ids that are permitted for this profile type. | [optional] +**isc_synced** | **bool** | Is this profile type synced with ics | [optional] [default to False] +**profile_type_dup_attributes_attributes** | [**[]ProfileType1ProfileTypeDupAttributesAttributesInner**](profile-type1-profile-type-dup-attributes-attributes-inner) | | [optional] +**profile_type_namings_attributes** | [**[]ProfileType1ProfileTypeNamingsAttributesInner**](profile-type1-profile-type-namings-attributes-inner) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type1 import ProfileType1 + +profile_type1 = ProfileType1( +name='Worker', +category='employee', +bypass_dup_protection=False, +archived=False, +permitted_role_ids=[33f072dd-13b4-41e1-8ea0-16f2a59b57c8], +isc_synced=False, +profile_type_dup_attributes_attributes=[ + sailpoint.nerm.models.profile_type_1_profile_type_dup_attributes_attributes_inner.ProfileType_1_profile_type_dup_attributes_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], +profile_type_namings_attributes=[ + sailpoint.nerm.models.profile_type_1_profile_type_namings_attributes_inner.ProfileType_1_profile_type_namings_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeDupAttributesAttributesInner.md b/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeDupAttributesAttributesInner.md new file mode 100644 index 000000000..75c9925e7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeDupAttributesAttributesInner.md @@ -0,0 +1,33 @@ +--- +id: profile-type1-profile-type-dup-attributes-attributes-inner +title: ProfileType1ProfileTypeDupAttributesAttributesInner +pagination_label: ProfileType1ProfileTypeDupAttributesAttributesInner +sidebar_label: ProfileType1ProfileTypeDupAttributesAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileType1ProfileTypeDupAttributesAttributesInner', 'ProfileType1ProfileTypeDupAttributesAttributesInner'] +slug: /tools/sdk/python//models/profile-type1-profile-type-dup-attributes-attributes-inner +tags: ['SDK', 'Software Development Kit', 'ProfileType1ProfileTypeDupAttributesAttributesInner', 'ProfileType1ProfileTypeDupAttributesAttributesInner'] +--- + +# ProfileType1ProfileTypeDupAttributesAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_id** | **str** | The ID of the ne attribute. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type1_profile_type_dup_attributes_attributes_inner import ProfileType1ProfileTypeDupAttributesAttributesInner + +profile_type1_profile_type_dup_attributes_attributes_inner = ProfileType1ProfileTypeDupAttributesAttributesInner( +ne_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeNamingsAttributesInner.md b/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeNamingsAttributesInner.md new file mode 100644 index 000000000..0d9cbe241 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileType1ProfileTypeNamingsAttributesInner.md @@ -0,0 +1,35 @@ +--- +id: profile-type1-profile-type-namings-attributes-inner +title: ProfileType1ProfileTypeNamingsAttributesInner +pagination_label: ProfileType1ProfileTypeNamingsAttributesInner +sidebar_label: ProfileType1ProfileTypeNamingsAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileType1ProfileTypeNamingsAttributesInner', 'ProfileType1ProfileTypeNamingsAttributesInner'] +slug: /tools/sdk/python//models/profile-type1-profile-type-namings-attributes-inner +tags: ['SDK', 'Software Development Kit', 'ProfileType1ProfileTypeNamingsAttributesInner', 'ProfileType1ProfileTypeNamingsAttributesInner'] +--- + +# ProfileType1ProfileTypeNamingsAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_id** | **str** | The ID of the associated ne attribute. | [optional] +**order** | **int** | The order that the namings are used in. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type1_profile_type_namings_attributes_inner import ProfileType1ProfileTypeNamingsAttributesInner + +profile_type1_profile_type_namings_attributes_inner = ProfileType1ProfileTypeNamingsAttributesInner( +ne_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +order=0 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeAttribute.md b/sailpoint/nerm/docs/Models/ProfileTypeAttribute.md new file mode 100644 index 000000000..cfd6089dc --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeAttribute.md @@ -0,0 +1,39 @@ +--- +id: profile-type-attribute +title: ProfileTypeAttribute +pagination_label: ProfileTypeAttribute +sidebar_label: ProfileTypeAttribute +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeAttribute', 'ProfileTypeAttribute'] +slug: /tools/sdk/python//models/profile-type-attribute +tags: ['SDK', 'Software Development Kit', 'ProfileTypeAttribute', 'ProfileTypeAttribute'] +--- + +# ProfileTypeAttribute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID of ne attribute | [optional] [readonly] +**uid** | **str** | Ne attribute's uid | [optional] [readonly] +**label** | **str** | Ne attribute's label | [required][readonly] +**synced** | **str** | synced_attribute ID if there is one | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_attribute import ProfileTypeAttribute + +profile_type_attribute = ProfileTypeAttribute( +id='1246d8b3-ac29-4015-8154-dea4434a73fa', +uid='1246d8b3-ac29-4015-8154-dea4434a73fa', +label='object', +synced='1246d8b3-ac29-4015-8154-dea4434a73fa' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeAttributes.md b/sailpoint/nerm/docs/Models/ProfileTypeAttributes.md new file mode 100644 index 000000000..8c4229bcd --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeAttributes.md @@ -0,0 +1,41 @@ +--- +id: profile-type-attributes +title: ProfileTypeAttributes +pagination_label: ProfileTypeAttributes +sidebar_label: ProfileTypeAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeAttributes', 'ProfileTypeAttributes'] +slug: /tools/sdk/python//models/profile-type-attributes +tags: ['SDK', 'Software Development Kit', 'ProfileTypeAttributes', 'ProfileTypeAttributes'] +--- + +# ProfileTypeAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **int** | How many ne attribute records exist | [optional] +**records** | [**[]ProfileTypeAttribute**](profile-type-attribute) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_attributes import ProfileTypeAttributes + +profile_type_attributes = ProfileTypeAttributes( +count=5, +records=[ + sailpoint.nerm.models.profile_type_attribute.ProfileTypeAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + uid = '1246d8b3-ac29-4015-8154-dea4434a73fa', + label = 'object', + synced = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeDupAttributesInner.md b/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeDupAttributesInner.md new file mode 100644 index 000000000..c922d47a3 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeDupAttributesInner.md @@ -0,0 +1,39 @@ +--- +id: profile-type-profile-type-dup-attributes-inner +title: ProfileTypeProfileTypeDupAttributesInner +pagination_label: ProfileTypeProfileTypeDupAttributesInner +sidebar_label: ProfileTypeProfileTypeDupAttributesInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeProfileTypeDupAttributesInner', 'ProfileTypeProfileTypeDupAttributesInner'] +slug: /tools/sdk/python//models/profile-type-profile-type-dup-attributes-inner +tags: ['SDK', 'Software Development Kit', 'ProfileTypeProfileTypeDupAttributesInner', 'ProfileTypeProfileTypeDupAttributesInner'] +--- + +# ProfileTypeProfileTypeDupAttributesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The ID of the properties that are used for duplication protection. | [optional] +**uid** | **str** | The user-specified identifier of the properties that are used for duplication protection. | [optional] +**profile_type_id** | **str** | The ID of the profile type. | [optional] +**ne_attribute_id** | **str** | The ID of the ne attribute. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner import ProfileTypeProfileTypeDupAttributesInner + +profile_type_profile_type_dup_attributes_inner = ProfileTypeProfileTypeDupAttributesInner( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +uid='attribute-uid', +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +ne_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeNamingsInner.md b/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeNamingsInner.md new file mode 100644 index 000000000..353c2471b --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeProfileTypeNamingsInner.md @@ -0,0 +1,41 @@ +--- +id: profile-type-profile-type-namings-inner +title: ProfileTypeProfileTypeNamingsInner +pagination_label: ProfileTypeProfileTypeNamingsInner +sidebar_label: ProfileTypeProfileTypeNamingsInner +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeProfileTypeNamingsInner', 'ProfileTypeProfileTypeNamingsInner'] +slug: /tools/sdk/python//models/profile-type-profile-type-namings-inner +tags: ['SDK', 'Software Development Kit', 'ProfileTypeProfileTypeNamingsInner', 'ProfileTypeProfileTypeNamingsInner'] +--- + +# ProfileTypeProfileTypeNamingsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The ID of the profile type naming. | [optional] +**uid** | **str** | The user-specified identifier of the profile type naming. | [optional] +**profile_type_id** | **str** | The ID of the associated profile type. | [optional] +**ne_attribute_id** | **str** | The ID of the associated ne attribute. | [optional] +**order** | **int** | The order that the namings are used in. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_profile_type_namings_inner import ProfileTypeProfileTypeNamingsInner + +profile_type_profile_type_namings_inner = ProfileTypeProfileTypeNamingsInner( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +uid='profile-type-name', +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +ne_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +order=0 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeRoles.md b/sailpoint/nerm/docs/Models/ProfileTypeRoles.md new file mode 100644 index 000000000..25247776b --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeRoles.md @@ -0,0 +1,37 @@ +--- +id: profile-type-roles +title: ProfileTypeRoles +pagination_label: ProfileTypeRoles +sidebar_label: ProfileTypeRoles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeRoles', 'ProfileTypeRoles'] +slug: /tools/sdk/python//models/profile-type-roles +tags: ['SDK', 'Software Development Kit', 'ProfileTypeRoles', 'ProfileTypeRoles'] +--- + +# ProfileTypeRoles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The id of the profile type | [optional] +**role_id** | **str** | The id of the role | [optional] +**id** | **str** | The id of the profile type role | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_roles import ProfileTypeRoles + +profile_type_roles = ProfileTypeRoles( +profile_type_id='2eb5773f-2486-452f-bdb3-796133b30862', +role_id='2eb5773f-2486-452f-bdb3-796133b30862', +id='2e06b876-f456-473d-bd65-b6435e0b6b2d' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeRoles1.md b/sailpoint/nerm/docs/Models/ProfileTypeRoles1.md new file mode 100644 index 000000000..b1a1a6b31 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeRoles1.md @@ -0,0 +1,35 @@ +--- +id: profile-type-roles1 +title: ProfileTypeRoles1 +pagination_label: ProfileTypeRoles1 +sidebar_label: ProfileTypeRoles1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeRoles1', 'ProfileTypeRoles1'] +slug: /tools/sdk/python//models/profile-type-roles1 +tags: ['SDK', 'Software Development Kit', 'ProfileTypeRoles1', 'ProfileTypeRoles1'] +--- + +# ProfileTypeRoles1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The id of the profile type | [optional] +**role_id** | **str** | The id of the role | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_roles1 import ProfileTypeRoles1 + +profile_type_roles1 = ProfileTypeRoles1( +profile_type_id='2eb5773f-2486-452f-bdb3-796133b30862', +role_id='2eb5773f-2486-452f-bdb3-796133b30862' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeRule.md b/sailpoint/nerm/docs/Models/ProfileTypeRule.md new file mode 100644 index 000000000..833398a62 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeRule.md @@ -0,0 +1,41 @@ +--- +id: profile-type-rule +title: ProfileTypeRule +pagination_label: ProfileTypeRule +sidebar_label: ProfileTypeRule +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeRule', 'ProfileTypeRule'] +slug: /tools/sdk/python//models/profile-type-rule +tags: ['SDK', 'Software Development Kit', 'ProfileTypeRule', 'ProfileTypeRule'] +--- + +# ProfileTypeRule + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'ProfileTypeRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '!=' ] | | [optional] +**value** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_rule import ProfileTypeRule + +profile_type_rule = ProfileTypeRule( +id='', +uid='', +type='ProfileTypeRule', +comparison_operator='==', +value='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ProfileTypeRule1.md b/sailpoint/nerm/docs/Models/ProfileTypeRule1.md new file mode 100644 index 000000000..c04f15750 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ProfileTypeRule1.md @@ -0,0 +1,37 @@ +--- +id: profile-type-rule1 +title: ProfileTypeRule1 +pagination_label: ProfileTypeRule1 +sidebar_label: ProfileTypeRule1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ProfileTypeRule1', 'ProfileTypeRule1'] +slug: /tools/sdk/python//models/profile-type-rule1 +tags: ['SDK', 'Software Development Kit', 'ProfileTypeRule1', 'ProfileTypeRule1'] +--- + +# ProfileTypeRule1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'ProfileTypeRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '!=' ] | | [required] +**value** | **str** | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.profile_type_rule1 import ProfileTypeRule1 + +profile_type_rule1 = ProfileTypeRule1( +type='ProfileTypeRule', +comparison_operator='==', +value='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Profiles.md b/sailpoint/nerm/docs/Models/Profiles.md new file mode 100644 index 000000000..c47db9d55 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Profiles.md @@ -0,0 +1,44 @@ +--- +id: profiles +title: Profiles +pagination_label: Profiles +sidebar_label: Profiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Profiles', 'Profiles'] +slug: /tools/sdk/python//models/profiles +tags: ['SDK', 'Software Development Kit', 'Profiles', 'Profiles'] +--- + +# Profiles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**[]Profile**](profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.profiles import Profiles + +profiles = Profiles( +profiles=[ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RequestAction.md b/sailpoint/nerm/docs/Models/RequestAction.md new file mode 100644 index 000000000..667f2b6ca --- /dev/null +++ b/sailpoint/nerm/docs/Models/RequestAction.md @@ -0,0 +1,41 @@ +--- +id: request-action +title: RequestAction +pagination_label: RequestAction +sidebar_label: RequestAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RequestAction', 'RequestAction'] +slug: /tools/sdk/python//models/request-action +tags: ['SDK', 'Software Development Kit', 'RequestAction', 'RequestAction'] +--- + +# RequestAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**page_id** | **str** | The page the workflow action should render. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**requires_comment** | **bool** | If the workflow action requires a comment or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.request_action import RequestAction + +request_action = RequestAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Provides the requester a page with forms.', +page_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +archived=False, +requires_comment=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RestApiAction.md b/sailpoint/nerm/docs/Models/RestApiAction.md new file mode 100644 index 000000000..6f1d40cac --- /dev/null +++ b/sailpoint/nerm/docs/Models/RestApiAction.md @@ -0,0 +1,37 @@ +--- +id: rest-api-action +title: RestApiAction +pagination_label: RestApiAction +sidebar_label: RestApiAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RestApiAction', 'RestApiAction'] +slug: /tools/sdk/python//models/rest-api-action +tags: ['SDK', 'Software Development Kit', 'RestApiAction', 'RestApiAction'] +--- + +# RestApiAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.rest_api_action import RestApiAction + +rest_api_action = RestApiAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Makes a request to a Restful API.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ReviewAction.md b/sailpoint/nerm/docs/Models/ReviewAction.md new file mode 100644 index 000000000..bc1ce69aa --- /dev/null +++ b/sailpoint/nerm/docs/Models/ReviewAction.md @@ -0,0 +1,41 @@ +--- +id: review-action +title: ReviewAction +pagination_label: ReviewAction +sidebar_label: ReviewAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ReviewAction', 'ReviewAction'] +slug: /tools/sdk/python//models/review-action +tags: ['SDK', 'Software Development Kit', 'ReviewAction', 'ReviewAction'] +--- + +# ReviewAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**page_id** | **str** | The page the workflow action should render. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**requires_comment** | **bool** | If the workflow action requires a comment or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.review_action import ReviewAction + +review_action = ReviewAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Allows the requester to review.', +page_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +archived=False, +requires_comment=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RiskLevel.md b/sailpoint/nerm/docs/Models/RiskLevel.md new file mode 100644 index 000000000..6b55898f6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RiskLevel.md @@ -0,0 +1,41 @@ +--- +id: risk-level +title: RiskLevel +pagination_label: RiskLevel +sidebar_label: RiskLevel +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RiskLevel', 'RiskLevel'] +slug: /tools/sdk/python//models/risk-level +tags: ['SDK', 'Software Development Kit', 'RiskLevel', 'RiskLevel'] +--- + +# RiskLevel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**label** | **str** | | [optional] +**points** | **float** | | [optional] +**order** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.risk_level import RiskLevel + +risk_level = RiskLevel( +id='', +uid='', +label='', +points=1.337, +order=0 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RiskRule.md b/sailpoint/nerm/docs/Models/RiskRule.md new file mode 100644 index 000000000..439156eff --- /dev/null +++ b/sailpoint/nerm/docs/Models/RiskRule.md @@ -0,0 +1,43 @@ +--- +id: risk-rule +title: RiskRule +pagination_label: RiskRule +sidebar_label: RiskRule +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RiskRule', 'RiskRule'] +slug: /tools/sdk/python//models/risk-rule +tags: ['SDK', 'Software Development Kit', 'RiskRule', 'RiskRule'] +--- + +# RiskRule + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**type** | **Enum** [ 'RiskRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '>', '<' ] | | [optional] +**value** | **str** | | [required] +**secondary_value** | **Enum** [ 'OverallRisk' ] | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.risk_rule import RiskRule + +risk_rule = RiskRule( +id='', +uid='', +type='RiskRule', +comparison_operator='==', +value='', +secondary_value='OverallRisk' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RiskRule1.md b/sailpoint/nerm/docs/Models/RiskRule1.md new file mode 100644 index 000000000..ce6edfa47 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RiskRule1.md @@ -0,0 +1,39 @@ +--- +id: risk-rule1 +title: RiskRule1 +pagination_label: RiskRule1 +sidebar_label: RiskRule1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RiskRule1', 'RiskRule1'] +slug: /tools/sdk/python//models/risk-rule1 +tags: ['SDK', 'Software Development Kit', 'RiskRule1', 'RiskRule1'] +--- + +# RiskRule1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **Enum** [ 'RiskRule' ] | | [required] +**comparison_operator** | **Enum** [ '==', '>', '<' ] | | [optional] +**value** | **str** | | [required] +**secondary_value** | **Enum** [ 'OverallRisk' ] | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.risk_rule1 import RiskRule1 + +risk_rule1 = RiskRule1( +type='RiskRule', +comparison_operator='==', +value='', +secondary_value='OverallRisk' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RiskScore.md b/sailpoint/nerm/docs/Models/RiskScore.md new file mode 100644 index 000000000..1e69fa496 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RiskScore.md @@ -0,0 +1,51 @@ +--- +id: risk-score +title: RiskScore +pagination_label: RiskScore +sidebar_label: RiskScore +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RiskScore', 'RiskScore'] +slug: /tools/sdk/python//models/risk-score +tags: ['SDK', 'Software Development Kit', 'RiskScore', 'RiskScore'] +--- + +# RiskScore + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**object_id** | **str** | | [optional] +**object_type** | **Enum** [ 'Profile', 'WorkflowSession' ] | | [optional] +**overall_score** | **float** | | [optional] +**overall_risk_level_id** | **str** | | [optional] +**impact_score** | **float** | | [optional] +**impact_risk_level_id** | **str** | | [optional] +**probability_score** | **float** | | [optional] +**probability_risk_level_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.risk_score import RiskScore + +risk_score = RiskScore( +id='', +uid='', +object_id='', +object_type='Profile', +overall_score=1.337, +overall_risk_level_id='', +impact_score=1.337, +impact_risk_level_id='', +probability_score=1.337, +probability_risk_level_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Role.md b/sailpoint/nerm/docs/Models/Role.md new file mode 100644 index 000000000..d8d984153 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Role.md @@ -0,0 +1,41 @@ +--- +id: role +title: Role +pagination_label: Role +sidebar_label: Role +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Role', 'Role'] +slug: /tools/sdk/python//models/role +tags: ['SDK', 'Software Development Kit', 'Role', 'Role'] +--- + +# Role + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**name** | **str** | | [optional] +**groups** | **[]str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.role import Role + +role = Role( +id='', +uid='sponsors_role', +name='Sponsors', +groups=[ + 'ad_group_name' + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Role1.md b/sailpoint/nerm/docs/Models/Role1.md new file mode 100644 index 000000000..c0b041dba --- /dev/null +++ b/sailpoint/nerm/docs/Models/Role1.md @@ -0,0 +1,41 @@ +--- +id: role1 +title: Role1 +pagination_label: Role1 +sidebar_label: Role1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Role1', 'Role1'] +slug: /tools/sdk/python//models/role1 +tags: ['SDK', 'Software Development Kit', 'Role1', 'Role1'] +--- + +# Role1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | | [optional] +**type** | **Enum** [ 'NeprofileRole', 'NeaccessRole' ] | | [optional] +**name** | **str** | | [optional] +**groups** | **[]str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.role1 import Role1 + +role1 = Role1( +uid='sponsors_role', +type='NeprofileRole', +name='Sponsors', +groups=[ + 'ad_group_name' + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RoleProfile.md b/sailpoint/nerm/docs/Models/RoleProfile.md new file mode 100644 index 000000000..8ab4a639b --- /dev/null +++ b/sailpoint/nerm/docs/Models/RoleProfile.md @@ -0,0 +1,39 @@ +--- +id: role-profile +title: RoleProfile +pagination_label: RoleProfile +sidebar_label: RoleProfile +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RoleProfile', 'RoleProfile'] +slug: /tools/sdk/python//models/role-profile +tags: ['SDK', 'Software Development Kit', 'RoleProfile', 'RoleProfile'] +--- + +# RoleProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**role_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.role_profile import RoleProfile + +role_profile = RoleProfile( +id='', +uid='', +role_id='', +profile_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RoleProfile1.md b/sailpoint/nerm/docs/Models/RoleProfile1.md new file mode 100644 index 000000000..7e87af64d --- /dev/null +++ b/sailpoint/nerm/docs/Models/RoleProfile1.md @@ -0,0 +1,35 @@ +--- +id: role-profile1 +title: RoleProfile1 +pagination_label: RoleProfile1 +sidebar_label: RoleProfile1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RoleProfile1', 'RoleProfile1'] +slug: /tools/sdk/python//models/role-profile1 +tags: ['SDK', 'Software Development Kit', 'RoleProfile1', 'RoleProfile1'] +--- + +# RoleProfile1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.role_profile1 import RoleProfile1 + +role_profile1 = RoleProfile1( +role_id='', +profile_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RoleProfiles.md b/sailpoint/nerm/docs/Models/RoleProfiles.md new file mode 100644 index 000000000..2e4535717 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RoleProfiles.md @@ -0,0 +1,39 @@ +--- +id: role-profiles +title: RoleProfiles +pagination_label: RoleProfiles +sidebar_label: RoleProfiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RoleProfiles', 'RoleProfiles'] +slug: /tools/sdk/python//models/role-profiles +tags: ['SDK', 'Software Development Kit', 'RoleProfiles', 'RoleProfiles'] +--- + +# RoleProfiles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profiles** | [**[]RoleProfile**](role-profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.role_profiles import RoleProfiles + +role_profiles = RoleProfiles( +role_profiles=[ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Roles.md b/sailpoint/nerm/docs/Models/Roles.md new file mode 100644 index 000000000..b6f81fd84 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Roles.md @@ -0,0 +1,41 @@ +--- +id: roles +title: Roles +pagination_label: Roles +sidebar_label: Roles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Roles', 'Roles'] +slug: /tools/sdk/python//models/roles +tags: ['SDK', 'Software Development Kit', 'Roles', 'Roles'] +--- + +# Roles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**roles** | [**[]Role**](role) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.roles import Roles + +roles = Roles( +roles=[ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RunWorkflowAction.md b/sailpoint/nerm/docs/Models/RunWorkflowAction.md new file mode 100644 index 000000000..af48633c9 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RunWorkflowAction.md @@ -0,0 +1,46 @@ +--- +id: run-workflow-action +title: RunWorkflowAction +pagination_label: RunWorkflowAction +sidebar_label: RunWorkflowAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RunWorkflowAction', 'RunWorkflowAction'] +slug: /tools/sdk/python//models/run-workflow-action +tags: ['SDK', 'Software Development Kit', 'RunWorkflowAction', 'RunWorkflowAction'] +--- + +# RunWorkflowAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**configuration_attributes** | [**RunWorkflowActionConfigurationAttributes**](run-workflow-action-configuration-attributes) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.run_workflow_action import RunWorkflowAction + +run_workflow_action = RunWorkflowAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Runs another workflow with the ability to pass data in between.', +archived=False, +configuration_attributes=sailpoint.nerm.models.run_workflow_action_configuration_attributes.RunWorkflowAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + profile_to_send = 'current', + return_profile = False, + run_workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/RunWorkflowActionConfigurationAttributes.md b/sailpoint/nerm/docs/Models/RunWorkflowActionConfigurationAttributes.md new file mode 100644 index 000000000..e8aeaf948 --- /dev/null +++ b/sailpoint/nerm/docs/Models/RunWorkflowActionConfigurationAttributes.md @@ -0,0 +1,45 @@ +--- +id: run-workflow-action-configuration-attributes +title: RunWorkflowActionConfigurationAttributes +pagination_label: RunWorkflowActionConfigurationAttributes +sidebar_label: RunWorkflowActionConfigurationAttributes +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'RunWorkflowActionConfigurationAttributes', 'RunWorkflowActionConfigurationAttributes'] +slug: /tools/sdk/python//models/run-workflow-action-configuration-attributes +tags: ['SDK', 'Software Development Kit', 'RunWorkflowActionConfigurationAttributes', 'RunWorkflowActionConfigurationAttributes'] +--- + +# RunWorkflowActionConfigurationAttributes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | the id. | [optional] +**workflow_id** | **str** | the id of the workflow. | [optional] +**wait_for_completion** | **bool** | If the parent workflow should wait for the child to complete. | [optional] +**profile_to_send** | **Enum** [ 'none', 'current', 'attribute', 'profile_type' ] | the profile the parent should send to the child workflow. | [optional] +**return_profile** | **bool** | if the child workflow should return a profile. | [optional] +**run_workflow_action_id** | **str** | the id of the child workflow to run. | [optional] +**profile_type_id** | **str** | the id of the profile type. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.run_workflow_action_configuration_attributes import RunWorkflowActionConfigurationAttributes + +run_workflow_action_configuration_attributes = RunWorkflowActionConfigurationAttributes( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +wait_for_completion=False, +profile_to_send='current', +return_profile=False, +run_workflow_action_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Search200Response.md b/sailpoint/nerm/docs/Models/Search200Response.md new file mode 100644 index 000000000..223ce21fa --- /dev/null +++ b/sailpoint/nerm/docs/Models/Search200Response.md @@ -0,0 +1,48 @@ +--- +id: search200-response +title: Search200Response +pagination_label: Search200Response +sidebar_label: Search200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Search200Response', 'Search200Response'] +slug: /tools/sdk/python//models/search200-response +tags: ['SDK', 'Software Development Kit', 'Search200Response', 'Search200Response'] +--- + +# Search200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**audit_events** | [**[]AuditEvent**](audit-event) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.search200_response import Search200Response + +search200_response = Search200Response( +audit_events=[ + sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SearchAdvancedSearch200Response.md b/sailpoint/nerm/docs/Models/SearchAdvancedSearch200Response.md new file mode 100644 index 000000000..7cccecf9c --- /dev/null +++ b/sailpoint/nerm/docs/Models/SearchAdvancedSearch200Response.md @@ -0,0 +1,44 @@ +--- +id: search-advanced-search200-response +title: SearchAdvancedSearch200Response +pagination_label: SearchAdvancedSearch200Response +sidebar_label: SearchAdvancedSearch200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SearchAdvancedSearch200Response', 'SearchAdvancedSearch200Response'] +slug: /tools/sdk/python//models/search-advanced-search200-response +tags: ['SDK', 'Software Development Kit', 'SearchAdvancedSearch200Response', 'SearchAdvancedSearch200Response'] +--- + +# SearchAdvancedSearch200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**[]Profile**](profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response + +search_advanced_search200_response = SearchAdvancedSearch200Response( +profiles=[ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SearchRequest.md b/sailpoint/nerm/docs/Models/SearchRequest.md new file mode 100644 index 000000000..94f18ff5f --- /dev/null +++ b/sailpoint/nerm/docs/Models/SearchRequest.md @@ -0,0 +1,51 @@ +--- +id: search-request +title: SearchRequest +pagination_label: SearchRequest +sidebar_label: SearchRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SearchRequest', 'SearchRequest'] +slug: /tools/sdk/python//models/search-request +tags: ['SDK', 'Software Development Kit', 'SearchRequest', 'SearchRequest'] +--- + +# SearchRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**audit_events** | [**SearchRequestAuditEvents**](search-request-audit-events) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.search_request import SearchRequest + +search_request = SearchRequest( +audit_events=sailpoint.nerm.models.search_request_audit_events.search_request_audit_events( + offset = 100, + sort_by = 'created_at', + limit = 10, + order = 'asc', + filters = sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SearchRequestAuditEvents.md b/sailpoint/nerm/docs/Models/SearchRequestAuditEvents.md new file mode 100644 index 000000000..6b5aba30f --- /dev/null +++ b/sailpoint/nerm/docs/Models/SearchRequestAuditEvents.md @@ -0,0 +1,54 @@ +--- +id: search-request-audit-events +title: SearchRequestAuditEvents +pagination_label: SearchRequestAuditEvents +sidebar_label: SearchRequestAuditEvents +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SearchRequestAuditEvents', 'SearchRequestAuditEvents'] +slug: /tools/sdk/python//models/search-request-audit-events +tags: ['SDK', 'Software Development Kit', 'SearchRequestAuditEvents', 'SearchRequestAuditEvents'] +--- + +# SearchRequestAuditEvents + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**offset** | **int** | How many records to skip before pulling records to return. | [optional] +**sort_by** | **str** | A column that we are sorting these records from. | [optional] +**limit** | **int** | The limiting count for the amount of records returned. | [optional] +**order** | **Enum** [ 'asc', 'desc' ] | Which direction the list should be sorted by | [optional] +**filters** | [**AuditEvent**](audit-event) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.search_request_audit_events import SearchRequestAuditEvents + +search_request_audit_events = SearchRequestAuditEvents( +offset=100, +sort_by='created_at', +limit=10, +order='asc', +filters=sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SetAttributesAction.md b/sailpoint/nerm/docs/Models/SetAttributesAction.md new file mode 100644 index 000000000..fbc722290 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SetAttributesAction.md @@ -0,0 +1,37 @@ +--- +id: set-attributes-action +title: SetAttributesAction +pagination_label: SetAttributesAction +sidebar_label: SetAttributesAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SetAttributesAction', 'SetAttributesAction'] +slug: /tools/sdk/python//models/set-attributes-action +tags: ['SDK', 'Software Development Kit', 'SetAttributesAction', 'SetAttributesAction'] +--- + +# SetAttributesAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.set_attributes_action import SetAttributesAction + +set_attributes_action = SetAttributesAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Set attribute(s) to a specific value.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SetSecurityQuestionAction.md b/sailpoint/nerm/docs/Models/SetSecurityQuestionAction.md new file mode 100644 index 000000000..c9eca7b9e --- /dev/null +++ b/sailpoint/nerm/docs/Models/SetSecurityQuestionAction.md @@ -0,0 +1,39 @@ +--- +id: set-security-question-action +title: SetSecurityQuestionAction +pagination_label: SetSecurityQuestionAction +sidebar_label: SetSecurityQuestionAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SetSecurityQuestionAction', 'SetSecurityQuestionAction'] +slug: /tools/sdk/python//models/set-security-question-action +tags: ['SDK', 'Software Development Kit', 'SetSecurityQuestionAction', 'SetSecurityQuestionAction'] +--- + +# SetSecurityQuestionAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**number_of_questions** | **int** | The number of questions the user should answer upon login. | [required] +} + +## Example + +```python +from sailpoint.nerm.models.set_security_question_action import SetSecurityQuestionAction + +set_security_question_action = SetSecurityQuestionAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Prompt the user to provide some personal security questions and answers.', +archived=False, +number_of_questions=1 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SoapApiAction.md b/sailpoint/nerm/docs/Models/SoapApiAction.md new file mode 100644 index 000000000..e36907e3a --- /dev/null +++ b/sailpoint/nerm/docs/Models/SoapApiAction.md @@ -0,0 +1,37 @@ +--- +id: soap-api-action +title: SoapApiAction +pagination_label: SoapApiAction +sidebar_label: SoapApiAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SoapApiAction', 'SoapApiAction'] +slug: /tools/sdk/python//models/soap-api-action +tags: ['SDK', 'Software Development Kit', 'SoapApiAction', 'SoapApiAction'] +--- + +# SoapApiAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.soap_api_action import SoapApiAction + +soap_api_action = SoapApiAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Makes a request to a SOAP API.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/StatusChangeAction.md b/sailpoint/nerm/docs/Models/StatusChangeAction.md new file mode 100644 index 000000000..053bfea04 --- /dev/null +++ b/sailpoint/nerm/docs/Models/StatusChangeAction.md @@ -0,0 +1,39 @@ +--- +id: status-change-action +title: StatusChangeAction +pagination_label: StatusChangeAction +sidebar_label: StatusChangeAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'StatusChangeAction', 'StatusChangeAction'] +slug: /tools/sdk/python//models/status-change-action +tags: ['SDK', 'Software Development Kit', 'StatusChangeAction', 'StatusChangeAction'] +--- + +# StatusChangeAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**new_status** | **Enum** [ 'Active', 'Inactive', 'On Leave', 'Terminated' ] | The new status for the Status Change workflow action. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.status_change_action import StatusChangeAction + +status_change_action = StatusChangeAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Changes the status of a non-employee.', +new_status='Active', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAdvancedSearch200Response.md b/sailpoint/nerm/docs/Models/SubmitAdvancedSearch200Response.md new file mode 100644 index 000000000..e564bfb95 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAdvancedSearch200Response.md @@ -0,0 +1,39 @@ +--- +id: submit-advanced-search200-response +title: SubmitAdvancedSearch200Response +pagination_label: SubmitAdvancedSearch200Response +sidebar_label: SubmitAdvancedSearch200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAdvancedSearch200Response', 'SubmitAdvancedSearch200Response'] +slug: /tools/sdk/python//models/submit-advanced-search200-response +tags: ['SDK', 'Software Development Kit', 'SubmitAdvancedSearch200Response', 'SubmitAdvancedSearch200Response'] +--- + +# SubmitAdvancedSearch200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**advanced_search** | [**AdvancedSearch**](advanced-search) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response + +submit_advanced_search200_response = SubmitAdvancedSearch200Response( +advanced_search=sailpoint.nerm.models.advanced_search.AdvancedSearch( + id = '', + uid = '', + label = '', + condition_rules_attributes = [ + null + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAdvancedSearchRequest.md b/sailpoint/nerm/docs/Models/SubmitAdvancedSearchRequest.md new file mode 100644 index 000000000..9d3f7aea7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAdvancedSearchRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-advanced-search-request +title: SubmitAdvancedSearchRequest +pagination_label: SubmitAdvancedSearchRequest +sidebar_label: SubmitAdvancedSearchRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAdvancedSearchRequest', 'SubmitAdvancedSearchRequest'] +slug: /tools/sdk/python//models/submit-advanced-search-request +tags: ['SDK', 'Software Development Kit', 'SubmitAdvancedSearchRequest', 'SubmitAdvancedSearchRequest'] +--- + +# SubmitAdvancedSearchRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**advanced_search** | [**AdvancedSearch1**](advanced-search1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest + +submit_advanced_search_request = SubmitAdvancedSearchRequest( +advanced_search=sailpoint.nerm.models.advanced_search_1.AdvancedSearch_1( + label = '', + condition_rules_attributes = [ + null + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAttributeOption200Response.md b/sailpoint/nerm/docs/Models/SubmitAttributeOption200Response.md new file mode 100644 index 000000000..486b4ae96 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAttributeOption200Response.md @@ -0,0 +1,37 @@ +--- +id: submit-attribute-option200-response +title: SubmitAttributeOption200Response +pagination_label: SubmitAttributeOption200Response +sidebar_label: SubmitAttributeOption200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAttributeOption200Response', 'SubmitAttributeOption200Response'] +slug: /tools/sdk/python//models/submit-attribute-option200-response +tags: ['SDK', 'Software Development Kit', 'SubmitAttributeOption200Response', 'SubmitAttributeOption200Response'] +--- + +# SubmitAttributeOption200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_option** | [**AttributeOption**](attribute-option) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response + +submit_attribute_option200_response = SubmitAttributeOption200Response( +ne_attribute_option=sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAttributeOptionRequest.md b/sailpoint/nerm/docs/Models/SubmitAttributeOptionRequest.md new file mode 100644 index 000000000..cf8cad386 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAttributeOptionRequest.md @@ -0,0 +1,35 @@ +--- +id: submit-attribute-option-request +title: SubmitAttributeOptionRequest +pagination_label: SubmitAttributeOptionRequest +sidebar_label: SubmitAttributeOptionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAttributeOptionRequest', 'SubmitAttributeOptionRequest'] +slug: /tools/sdk/python//models/submit-attribute-option-request +tags: ['SDK', 'Software Development Kit', 'SubmitAttributeOptionRequest', 'SubmitAttributeOptionRequest'] +--- + +# SubmitAttributeOptionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_option** | [**AttributeOption1**](attribute-option1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest + +submit_attribute_option_request = SubmitAttributeOptionRequest( +ne_attribute_option=sailpoint.nerm.models.attribute_option_1.AttributeOption_1( + ne_attribute_id = '', + option = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAttributeOptions200Response.md b/sailpoint/nerm/docs/Models/SubmitAttributeOptions200Response.md new file mode 100644 index 000000000..8fd6474b5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAttributeOptions200Response.md @@ -0,0 +1,47 @@ +--- +id: submit-attribute-options200-response +title: SubmitAttributeOptions200Response +pagination_label: SubmitAttributeOptions200Response +sidebar_label: SubmitAttributeOptions200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAttributeOptions200Response', 'SubmitAttributeOptions200Response'] +slug: /tools/sdk/python//models/submit-attribute-options200-response +tags: ['SDK', 'Software Development Kit', 'SubmitAttributeOptions200Response', 'SubmitAttributeOptions200Response'] +--- + +# SubmitAttributeOptions200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_options** | [**[]AttributeOption**](attribute-option) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response + +submit_attribute_options200_response = SubmitAttributeOptions200Response( +ne_attribute_options=[ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitAttributeOptionsRequest.md b/sailpoint/nerm/docs/Models/SubmitAttributeOptionsRequest.md new file mode 100644 index 000000000..d2b7c6eaa --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitAttributeOptionsRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-attribute-options-request +title: SubmitAttributeOptionsRequest +pagination_label: SubmitAttributeOptionsRequest +sidebar_label: SubmitAttributeOptionsRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitAttributeOptionsRequest', 'SubmitAttributeOptionsRequest'] +slug: /tools/sdk/python//models/submit-attribute-options-request +tags: ['SDK', 'Software Development Kit', 'SubmitAttributeOptionsRequest', 'SubmitAttributeOptionsRequest'] +--- + +# SubmitAttributeOptionsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_options** | [**[]AttributeOption1**](attribute-option1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest + +submit_attribute_options_request = SubmitAttributeOptionsRequest( +ne_attribute_options=[ + sailpoint.nerm.models.attribute_option_1.AttributeOption_1( + ne_attribute_id = '', + option = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitProfileRequest.md b/sailpoint/nerm/docs/Models/SubmitProfileRequest.md new file mode 100644 index 000000000..9fef97119 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitProfileRequest.md @@ -0,0 +1,39 @@ +--- +id: submit-profile-request +title: SubmitProfileRequest +pagination_label: SubmitProfileRequest +sidebar_label: SubmitProfileRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitProfileRequest', 'SubmitProfileRequest'] +slug: /tools/sdk/python//models/submit-profile-request +tags: ['SDK', 'Software Development Kit', 'SubmitProfileRequest', 'SubmitProfileRequest'] +--- + +# SubmitProfileRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile** | [**Profile1**](profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest + +submit_profile_request = SubmitProfileRequest( +profile=sailpoint.nerm.models.profile_1.Profile_1( + name = 'First Last', + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + id_proofing_status = 'pass', + archived = False, + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitProfileType200Response.md b/sailpoint/nerm/docs/Models/SubmitProfileType200Response.md new file mode 100644 index 000000000..43af17d2f --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitProfileType200Response.md @@ -0,0 +1,56 @@ +--- +id: submit-profile-type200-response +title: SubmitProfileType200Response +pagination_label: SubmitProfileType200Response +sidebar_label: SubmitProfileType200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitProfileType200Response', 'SubmitProfileType200Response'] +slug: /tools/sdk/python//models/submit-profile-type200-response +tags: ['SDK', 'Software Development Kit', 'SubmitProfileType200Response', 'SubmitProfileType200Response'] +--- + +# SubmitProfileType200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type** | [**ProfileType**](profile-type) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response + +submit_profile_type200_response = SubmitProfileType200Response( +profile_type=sailpoint.nerm.models.profile_type.ProfileType( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'ptUid', + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes = [ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings = [ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitProfileTypeRequest.md b/sailpoint/nerm/docs/Models/SubmitProfileTypeRequest.md new file mode 100644 index 000000000..b3f6b3547 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitProfileTypeRequest.md @@ -0,0 +1,48 @@ +--- +id: submit-profile-type-request +title: SubmitProfileTypeRequest +pagination_label: SubmitProfileTypeRequest +sidebar_label: SubmitProfileTypeRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitProfileTypeRequest', 'SubmitProfileTypeRequest'] +slug: /tools/sdk/python//models/submit-profile-type-request +tags: ['SDK', 'Software Development Kit', 'SubmitProfileTypeRequest', 'SubmitProfileTypeRequest'] +--- + +# SubmitProfileTypeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type** | [**ProfileType1**](profile-type1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest + +submit_profile_type_request = SubmitProfileTypeRequest( +profile_type=sailpoint.nerm.models.profile_type_1.ProfileType_1( + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_dup_attributes_attributes_inner.ProfileType_1_profile_type_dup_attributes_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_namings_attributes_inner.ProfileType_1_profile_type_namings_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitProfileUploadRequest.md b/sailpoint/nerm/docs/Models/SubmitProfileUploadRequest.md new file mode 100644 index 000000000..5c1b5e6b1 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitProfileUploadRequest.md @@ -0,0 +1,33 @@ +--- +id: submit-profile-upload-request +title: SubmitProfileUploadRequest +pagination_label: SubmitProfileUploadRequest +sidebar_label: SubmitProfileUploadRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitProfileUploadRequest', 'SubmitProfileUploadRequest'] +slug: /tools/sdk/python//models/submit-profile-upload-request +tags: ['SDK', 'Software Development Kit', 'SubmitProfileUploadRequest', 'SubmitProfileUploadRequest'] +--- + +# SubmitProfileUploadRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**file** | **bytearray** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_profile_upload_request import SubmitProfileUploadRequest + +submit_profile_upload_request = SubmitProfileUploadRequest( +file=bytes(b'blah') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRole200Response.md b/sailpoint/nerm/docs/Models/SubmitRole200Response.md new file mode 100644 index 000000000..13e174926 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRole200Response.md @@ -0,0 +1,39 @@ +--- +id: submit-role200-response +title: SubmitRole200Response +pagination_label: SubmitRole200Response +sidebar_label: SubmitRole200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRole200Response', 'SubmitRole200Response'] +slug: /tools/sdk/python//models/submit-role200-response +tags: ['SDK', 'Software Development Kit', 'SubmitRole200Response', 'SubmitRole200Response'] +--- + +# SubmitRole200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role** | [**Role**](role) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response + +submit_role200_response = SubmitRole200Response( +role=sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoleProfile200Response.md b/sailpoint/nerm/docs/Models/SubmitRoleProfile200Response.md new file mode 100644 index 000000000..402102849 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoleProfile200Response.md @@ -0,0 +1,37 @@ +--- +id: submit-role-profile200-response +title: SubmitRoleProfile200Response +pagination_label: SubmitRoleProfile200Response +sidebar_label: SubmitRoleProfile200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoleProfile200Response', 'SubmitRoleProfile200Response'] +slug: /tools/sdk/python//models/submit-role-profile200-response +tags: ['SDK', 'Software Development Kit', 'SubmitRoleProfile200Response', 'SubmitRoleProfile200Response'] +--- + +# SubmitRoleProfile200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profile** | [**RoleProfile**](role-profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response + +submit_role_profile200_response = SubmitRoleProfile200Response( +role_profile=sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoleProfileRequest.md b/sailpoint/nerm/docs/Models/SubmitRoleProfileRequest.md new file mode 100644 index 000000000..1c31cf344 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoleProfileRequest.md @@ -0,0 +1,35 @@ +--- +id: submit-role-profile-request +title: SubmitRoleProfileRequest +pagination_label: SubmitRoleProfileRequest +sidebar_label: SubmitRoleProfileRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoleProfileRequest', 'SubmitRoleProfileRequest'] +slug: /tools/sdk/python//models/submit-role-profile-request +tags: ['SDK', 'Software Development Kit', 'SubmitRoleProfileRequest', 'SubmitRoleProfileRequest'] +--- + +# SubmitRoleProfileRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profile** | [**RoleProfile1**](role-profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest + +submit_role_profile_request = SubmitRoleProfileRequest( +role_profile=sailpoint.nerm.models.role_profile_1.RoleProfile_1( + role_id = '', + profile_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoleProfiles200Response.md b/sailpoint/nerm/docs/Models/SubmitRoleProfiles200Response.md new file mode 100644 index 000000000..3ccf59005 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoleProfiles200Response.md @@ -0,0 +1,47 @@ +--- +id: submit-role-profiles200-response +title: SubmitRoleProfiles200Response +pagination_label: SubmitRoleProfiles200Response +sidebar_label: SubmitRoleProfiles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoleProfiles200Response', 'SubmitRoleProfiles200Response'] +slug: /tools/sdk/python//models/submit-role-profiles200-response +tags: ['SDK', 'Software Development Kit', 'SubmitRoleProfiles200Response', 'SubmitRoleProfiles200Response'] +--- + +# SubmitRoleProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profiles** | [**[]RoleProfile**](role-profile) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response + +submit_role_profiles200_response = SubmitRoleProfiles200Response( +role_profiles=[ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoleProfilesRequest.md b/sailpoint/nerm/docs/Models/SubmitRoleProfilesRequest.md new file mode 100644 index 000000000..e55e4525a --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoleProfilesRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-role-profiles-request +title: SubmitRoleProfilesRequest +pagination_label: SubmitRoleProfilesRequest +sidebar_label: SubmitRoleProfilesRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoleProfilesRequest', 'SubmitRoleProfilesRequest'] +slug: /tools/sdk/python//models/submit-role-profiles-request +tags: ['SDK', 'Software Development Kit', 'SubmitRoleProfilesRequest', 'SubmitRoleProfilesRequest'] +--- + +# SubmitRoleProfilesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role_profiles** | [**[]RoleProfile1**](role-profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest + +submit_role_profiles_request = SubmitRoleProfilesRequest( +role_profiles=[ + sailpoint.nerm.models.role_profile_1.RoleProfile_1( + role_id = '', + profile_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoleRequest.md b/sailpoint/nerm/docs/Models/SubmitRoleRequest.md new file mode 100644 index 000000000..976efe1dd --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoleRequest.md @@ -0,0 +1,39 @@ +--- +id: submit-role-request +title: SubmitRoleRequest +pagination_label: SubmitRoleRequest +sidebar_label: SubmitRoleRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoleRequest', 'SubmitRoleRequest'] +slug: /tools/sdk/python//models/submit-role-request +tags: ['SDK', 'Software Development Kit', 'SubmitRoleRequest', 'SubmitRoleRequest'] +--- + +# SubmitRoleRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role** | [**Role1**](role1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest + +submit_role_request = SubmitRoleRequest( +role=sailpoint.nerm.models.role_1.Role_1( + uid = 'sponsors_role', + type = 'NeprofileRole', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRoles200Response.md b/sailpoint/nerm/docs/Models/SubmitRoles200Response.md new file mode 100644 index 000000000..f77ba6045 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRoles200Response.md @@ -0,0 +1,49 @@ +--- +id: submit-roles200-response +title: SubmitRoles200Response +pagination_label: SubmitRoles200Response +sidebar_label: SubmitRoles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRoles200Response', 'SubmitRoles200Response'] +slug: /tools/sdk/python//models/submit-roles200-response +tags: ['SDK', 'Software Development Kit', 'SubmitRoles200Response', 'SubmitRoles200Response'] +--- + +# SubmitRoles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**roles** | [**[]Role**](role) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response + +submit_roles200_response = SubmitRoles200Response( +roles=[ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitRolesRequest.md b/sailpoint/nerm/docs/Models/SubmitRolesRequest.md new file mode 100644 index 000000000..2b88c4cc7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitRolesRequest.md @@ -0,0 +1,41 @@ +--- +id: submit-roles-request +title: SubmitRolesRequest +pagination_label: SubmitRolesRequest +sidebar_label: SubmitRolesRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitRolesRequest', 'SubmitRolesRequest'] +slug: /tools/sdk/python//models/submit-roles-request +tags: ['SDK', 'Software Development Kit', 'SubmitRolesRequest', 'SubmitRolesRequest'] +--- + +# SubmitRolesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**roles** | [**[]Role1**](role1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest + +submit_roles_request = SubmitRolesRequest( +roles=[ + sailpoint.nerm.models.role_1.Role_1( + uid = 'sponsors_role', + type = 'NeprofileRole', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUser200Response.md b/sailpoint/nerm/docs/Models/SubmitUser200Response.md new file mode 100644 index 000000000..3609880c9 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUser200Response.md @@ -0,0 +1,47 @@ +--- +id: submit-user200-response +title: SubmitUser200Response +pagination_label: SubmitUser200Response +sidebar_label: SubmitUser200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUser200Response', 'SubmitUser200Response'] +slug: /tools/sdk/python//models/submit-user200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUser200Response', 'SubmitUser200Response'] +--- + +# SubmitUser200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**User**](user) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response + +submit_user200_response = SubmitUser200Response( +user=sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserManager200Response.md b/sailpoint/nerm/docs/Models/SubmitUserManager200Response.md new file mode 100644 index 000000000..16b81c4d8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserManager200Response.md @@ -0,0 +1,37 @@ +--- +id: submit-user-manager200-response +title: SubmitUserManager200Response +pagination_label: SubmitUserManager200Response +sidebar_label: SubmitUserManager200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserManager200Response', 'SubmitUserManager200Response'] +slug: /tools/sdk/python//models/submit-user-manager200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUserManager200Response', 'SubmitUserManager200Response'] +--- + +# SubmitUserManager200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_manager** | [**UserManager**](user-manager) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response + +submit_user_manager200_response = SubmitUserManager200Response( +user_manager=sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserManagerRequest.md b/sailpoint/nerm/docs/Models/SubmitUserManagerRequest.md new file mode 100644 index 000000000..2c9dea81f --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserManagerRequest.md @@ -0,0 +1,35 @@ +--- +id: submit-user-manager-request +title: SubmitUserManagerRequest +pagination_label: SubmitUserManagerRequest +sidebar_label: SubmitUserManagerRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserManagerRequest', 'SubmitUserManagerRequest'] +slug: /tools/sdk/python//models/submit-user-manager-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserManagerRequest', 'SubmitUserManagerRequest'] +--- + +# SubmitUserManagerRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_manager** | [**UserManager1**](user-manager1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest + +submit_user_manager_request = SubmitUserManagerRequest( +user_manager=sailpoint.nerm.models.user_manager_1.UserManager_1( + user_id = '', + manager_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserManagers200Response.md b/sailpoint/nerm/docs/Models/SubmitUserManagers200Response.md new file mode 100644 index 000000000..5bf46a927 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserManagers200Response.md @@ -0,0 +1,47 @@ +--- +id: submit-user-managers200-response +title: SubmitUserManagers200Response +pagination_label: SubmitUserManagers200Response +sidebar_label: SubmitUserManagers200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserManagers200Response', 'SubmitUserManagers200Response'] +slug: /tools/sdk/python//models/submit-user-managers200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUserManagers200Response', 'SubmitUserManagers200Response'] +--- + +# SubmitUserManagers200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +**user_managers** | [**[]UserManager**](user-manager) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response + +submit_user_managers200_response = SubmitUserManagers200Response( +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200, +user_managers=[ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserManagersRequest.md b/sailpoint/nerm/docs/Models/SubmitUserManagersRequest.md new file mode 100644 index 000000000..d8a0d5dc2 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserManagersRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-user-managers-request +title: SubmitUserManagersRequest +pagination_label: SubmitUserManagersRequest +sidebar_label: SubmitUserManagersRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserManagersRequest', 'SubmitUserManagersRequest'] +slug: /tools/sdk/python//models/submit-user-managers-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserManagersRequest', 'SubmitUserManagersRequest'] +--- + +# SubmitUserManagersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_managers** | [**[]UserManager1**](user-manager1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest + +submit_user_managers_request = SubmitUserManagersRequest( +user_managers=[ + sailpoint.nerm.models.user_manager_1.UserManager_1( + user_id = '', + manager_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserProfile200Response.md b/sailpoint/nerm/docs/Models/SubmitUserProfile200Response.md new file mode 100644 index 000000000..6ef570cf7 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserProfile200Response.md @@ -0,0 +1,39 @@ +--- +id: submit-user-profile200-response +title: SubmitUserProfile200Response +pagination_label: SubmitUserProfile200Response +sidebar_label: SubmitUserProfile200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserProfile200Response', 'SubmitUserProfile200Response'] +slug: /tools/sdk/python//models/submit-user-profile200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUserProfile200Response', 'SubmitUserProfile200Response'] +--- + +# SubmitUserProfile200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profile** | [**UserProfile**](user-profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response + +submit_user_profile200_response = SubmitUserProfile200Response( +user_profile=sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserProfileRequest.md b/sailpoint/nerm/docs/Models/SubmitUserProfileRequest.md new file mode 100644 index 000000000..035f2e47a --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserProfileRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-user-profile-request +title: SubmitUserProfileRequest +pagination_label: SubmitUserProfileRequest +sidebar_label: SubmitUserProfileRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserProfileRequest', 'SubmitUserProfileRequest'] +slug: /tools/sdk/python//models/submit-user-profile-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserProfileRequest', 'SubmitUserProfileRequest'] +--- + +# SubmitUserProfileRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profile** | [**UserProfile1**](user-profile1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest + +submit_user_profile_request = SubmitUserProfileRequest( +user_profile=sailpoint.nerm.models.user_profile_1.UserProfile_1( + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserRequest.md b/sailpoint/nerm/docs/Models/SubmitUserRequest.md new file mode 100644 index 000000000..8fca0c6fd --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserRequest.md @@ -0,0 +1,44 @@ +--- +id: submit-user-request +title: SubmitUserRequest +pagination_label: SubmitUserRequest +sidebar_label: SubmitUserRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserRequest', 'SubmitUserRequest'] +slug: /tools/sdk/python//models/submit-user-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserRequest', 'SubmitUserRequest'] +--- + +# SubmitUserRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**User1**](user1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest + +submit_user_request = SubmitUserRequest( +user=sailpoint.nerm.models.user_1.User_1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + profile_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + title = 'my_user_title', + status = 'Active', + login = 'my_user', + group_strings = 'Administrator_group,Developer_group', + locale = 'fr-CA', + password = 'U*bF7hy9fW', + sailpoint_identity_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserRole200Response.md b/sailpoint/nerm/docs/Models/SubmitUserRole200Response.md new file mode 100644 index 000000000..1ca3a82eb --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserRole200Response.md @@ -0,0 +1,37 @@ +--- +id: submit-user-role200-response +title: SubmitUserRole200Response +pagination_label: SubmitUserRole200Response +sidebar_label: SubmitUserRole200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserRole200Response', 'SubmitUserRole200Response'] +slug: /tools/sdk/python//models/submit-user-role200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUserRole200Response', 'SubmitUserRole200Response'] +--- + +# SubmitUserRole200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_role** | [**UserRole**](user-role) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response + +submit_user_role200_response = SubmitUserRole200Response( +user_role=sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserRoleRequest.md b/sailpoint/nerm/docs/Models/SubmitUserRoleRequest.md new file mode 100644 index 000000000..6f81915e0 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserRoleRequest.md @@ -0,0 +1,35 @@ +--- +id: submit-user-role-request +title: SubmitUserRoleRequest +pagination_label: SubmitUserRoleRequest +sidebar_label: SubmitUserRoleRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserRoleRequest', 'SubmitUserRoleRequest'] +slug: /tools/sdk/python//models/submit-user-role-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserRoleRequest', 'SubmitUserRoleRequest'] +--- + +# SubmitUserRoleRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_role** | [**UserRole1**](user-role1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest + +submit_user_role_request = SubmitUserRoleRequest( +user_role=sailpoint.nerm.models.user_role_1.UserRole_1( + user_id = '', + role_id = '', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserRoles200Response.md b/sailpoint/nerm/docs/Models/SubmitUserRoles200Response.md new file mode 100644 index 000000000..867a29e8c --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserRoles200Response.md @@ -0,0 +1,47 @@ +--- +id: submit-user-roles200-response +title: SubmitUserRoles200Response +pagination_label: SubmitUserRoles200Response +sidebar_label: SubmitUserRoles200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserRoles200Response', 'SubmitUserRoles200Response'] +slug: /tools/sdk/python//models/submit-user-roles200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUserRoles200Response', 'SubmitUserRoles200Response'] +--- + +# SubmitUserRoles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_roles** | [**[]UserRole**](user-role) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response + +submit_user_roles200_response = SubmitUserRoles200Response( +user_roles=[ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUserRolesRequest.md b/sailpoint/nerm/docs/Models/SubmitUserRolesRequest.md new file mode 100644 index 000000000..f3512eba0 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUserRolesRequest.md @@ -0,0 +1,37 @@ +--- +id: submit-user-roles-request +title: SubmitUserRolesRequest +pagination_label: SubmitUserRolesRequest +sidebar_label: SubmitUserRolesRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUserRolesRequest', 'SubmitUserRolesRequest'] +slug: /tools/sdk/python//models/submit-user-roles-request +tags: ['SDK', 'Software Development Kit', 'SubmitUserRolesRequest', 'SubmitUserRolesRequest'] +--- + +# SubmitUserRolesRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_roles** | [**[]UserRole1**](user-role1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest + +submit_user_roles_request = SubmitUserRolesRequest( +user_roles=[ + sailpoint.nerm.models.user_role_1.UserRole_1( + user_id = '', + role_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUsers200Response.md b/sailpoint/nerm/docs/Models/SubmitUsers200Response.md new file mode 100644 index 000000000..f70d8ff3e --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUsers200Response.md @@ -0,0 +1,57 @@ +--- +id: submit-users200-response +title: SubmitUsers200Response +pagination_label: SubmitUsers200Response +sidebar_label: SubmitUsers200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUsers200Response', 'SubmitUsers200Response'] +slug: /tools/sdk/python//models/submit-users200-response +tags: ['SDK', 'Software Development Kit', 'SubmitUsers200Response', 'SubmitUsers200Response'] +--- + +# SubmitUsers200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**[]User**](user) | | [optional] +**info** | **str** | | [optional] +**job_status** | [**JobJobStatus**](job-job-status) | | [optional] +**status** | **int** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response + +submit_users200_response = SubmitUsers200Response( +users=[ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ], +info='job has started', +job_status=sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), +status=200 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitUsersRequest.md b/sailpoint/nerm/docs/Models/SubmitUsersRequest.md new file mode 100644 index 000000000..69644af3d --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitUsersRequest.md @@ -0,0 +1,46 @@ +--- +id: submit-users-request +title: SubmitUsersRequest +pagination_label: SubmitUsersRequest +sidebar_label: SubmitUsersRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitUsersRequest', 'SubmitUsersRequest'] +slug: /tools/sdk/python//models/submit-users-request +tags: ['SDK', 'Software Development Kit', 'SubmitUsersRequest', 'SubmitUsersRequest'] +--- + +# SubmitUsersRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**[]User1**](user1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest + +submit_users_request = SubmitUsersRequest( +users=[ + sailpoint.nerm.models.user_1.User_1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + profile_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + title = 'my_user_title', + status = 'Active', + login = 'my_user', + group_strings = 'Administrator_group,Developer_group', + locale = 'fr-CA', + password = 'U*bF7hy9fW', + sailpoint_identity_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitWorkflowSession200Response.md b/sailpoint/nerm/docs/Models/SubmitWorkflowSession200Response.md new file mode 100644 index 000000000..6759fd597 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitWorkflowSession200Response.md @@ -0,0 +1,42 @@ +--- +id: submit-workflow-session200-response +title: SubmitWorkflowSession200Response +pagination_label: SubmitWorkflowSession200Response +sidebar_label: SubmitWorkflowSession200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitWorkflowSession200Response', 'SubmitWorkflowSession200Response'] +slug: /tools/sdk/python//models/submit-workflow-session200-response +tags: ['SDK', 'Software Development Kit', 'SubmitWorkflowSession200Response', 'SubmitWorkflowSession200Response'] +--- + +# SubmitWorkflowSession200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_session** | [**WorkflowSession**](workflow-session) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response + +submit_workflow_session200_response = SubmitWorkflowSession200Response( +workflow_session=sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SubmitWorkflowSessionRequest.md b/sailpoint/nerm/docs/Models/SubmitWorkflowSessionRequest.md new file mode 100644 index 000000000..950537765 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SubmitWorkflowSessionRequest.md @@ -0,0 +1,39 @@ +--- +id: submit-workflow-session-request +title: SubmitWorkflowSessionRequest +pagination_label: SubmitWorkflowSessionRequest +sidebar_label: SubmitWorkflowSessionRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SubmitWorkflowSessionRequest', 'SubmitWorkflowSessionRequest'] +slug: /tools/sdk/python//models/submit-workflow-session-request +tags: ['SDK', 'Software Development Kit', 'SubmitWorkflowSessionRequest', 'SubmitWorkflowSessionRequest'] +--- + +# SubmitWorkflowSessionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_session** | [**WorkflowSession1**](workflow-session1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest + +submit_workflow_session_request = SubmitWorkflowSessionRequest( +workflow_session=sailpoint.nerm.models.workflow_session_1.WorkflowSession_1( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = [59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e], + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SyncedAttribute.md b/sailpoint/nerm/docs/Models/SyncedAttribute.md new file mode 100644 index 000000000..947c09e89 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SyncedAttribute.md @@ -0,0 +1,37 @@ +--- +id: synced-attribute +title: SyncedAttribute +pagination_label: SyncedAttribute +sidebar_label: SyncedAttribute +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SyncedAttribute', 'SyncedAttribute'] +slug: /tools/sdk/python//models/synced-attribute +tags: ['SDK', 'Software Development Kit', 'SyncedAttribute', 'SyncedAttribute'] +--- + +# SyncedAttribute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | synced attribute's ID | [optional] [readonly] +**profile_type_id** | **str** | Profile type ID of synced attribute | [optional] [readonly] +**ne_attribute_id** | **str** | Ne attribute ID of synced attribute | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.synced_attribute import SyncedAttribute + +synced_attribute = SyncedAttribute( +id='1246d8b3-ac29-4015-8154-dea4434a73fa', +profile_type_id='1246d8b3-ac29-4015-8154-dea4434a73fa', +ne_attribute_id='1246d8b3-ac29-4015-8154-dea4434a73fa' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SyncedAttribute1.md b/sailpoint/nerm/docs/Models/SyncedAttribute1.md new file mode 100644 index 000000000..a85f1fede --- /dev/null +++ b/sailpoint/nerm/docs/Models/SyncedAttribute1.md @@ -0,0 +1,33 @@ +--- +id: synced-attribute1 +title: SyncedAttribute1 +pagination_label: SyncedAttribute1 +sidebar_label: SyncedAttribute1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SyncedAttribute1', 'SyncedAttribute1'] +slug: /tools/sdk/python//models/synced-attribute1 +tags: ['SDK', 'Software Development Kit', 'SyncedAttribute1', 'SyncedAttribute1'] +--- + +# SyncedAttribute1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ne_attribute_id** | **str** | synced attribute's ID | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.synced_attribute1 import SyncedAttribute1 + +synced_attribute1 = SyncedAttribute1( +ne_attribute_id='1246d8b3-ac29-4015-8154-dea4434a73fa' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SystemRole.md b/sailpoint/nerm/docs/Models/SystemRole.md new file mode 100644 index 000000000..e92aac028 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SystemRole.md @@ -0,0 +1,37 @@ +--- +id: system-role +title: SystemRole +pagination_label: SystemRole +sidebar_label: SystemRole +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SystemRole', 'SystemRole'] +slug: /tools/sdk/python//models/system-role +tags: ['SDK', 'Software Development Kit', 'SystemRole', 'SystemRole'] +--- + +# SystemRole + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The unique identifier for the object | [optional] [readonly] +**uid** | **Enum** [ 'profile_contributor', 'profile_owner' ] | The user identifier for the object | [optional] [readonly] +**name** | **Enum** [ 'Profile Contributor', 'Profile Owner' ] | The name of the role | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.system_role import SystemRole + +system_role = SystemRole( +id='2e06b876-f456-473d-bd65-b6435e0b6b2d', +uid='profile_contributor', +name='Profile Contributor' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SystemRolePermission.md b/sailpoint/nerm/docs/Models/SystemRolePermission.md new file mode 100644 index 000000000..500ae6a16 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SystemRolePermission.md @@ -0,0 +1,41 @@ +--- +id: system-role-permission +title: SystemRolePermission +pagination_label: SystemRolePermission +sidebar_label: SystemRolePermission +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SystemRolePermission', 'SystemRolePermission'] +slug: /tools/sdk/python//models/system-role-permission +tags: ['SDK', 'Software Development Kit', 'SystemRolePermission', 'SystemRolePermission'] +--- + +# SystemRolePermission + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the system role permission | [optional] [readonly] +**system_role_id** | **str** | The id of the system role | [optional] +**value** | **int** | The permissions level of access | [optional] +**subject** | **int** | The type of permission | [optional] +**subject_id** | **str** | The ID of the object that the permission is giving access to | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.system_role_permission import SystemRolePermission + +system_role_permission = SystemRolePermission( +id='2e06b876-f456-473d-bd65-b6435e0b6b2d', +system_role_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +value=1, +subject=1, +subject_id='db3d85ef-c324-458b-b206-58debaa96419' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/SystemRolePermission1.md b/sailpoint/nerm/docs/Models/SystemRolePermission1.md new file mode 100644 index 000000000..216fe6078 --- /dev/null +++ b/sailpoint/nerm/docs/Models/SystemRolePermission1.md @@ -0,0 +1,39 @@ +--- +id: system-role-permission1 +title: SystemRolePermission1 +pagination_label: SystemRolePermission1 +sidebar_label: SystemRolePermission1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'SystemRolePermission1', 'SystemRolePermission1'] +slug: /tools/sdk/python//models/system-role-permission1 +tags: ['SDK', 'Software Development Kit', 'SystemRolePermission1', 'SystemRolePermission1'] +--- + +# SystemRolePermission1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**system_role_id** | **str** | The id of the system role | [optional] +**subject_id** | **str** | The ID of the object that the permission is giving access to | [optional] +**value** | **Enum** [ 1, 2, 3, 4, 5, 6, 7 ] | The permissions level of access | [optional] +**subject** | **Enum** [ 0, 2, 14 ] | The type of permission | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.system_role_permission1 import SystemRolePermission1 + +system_role_permission1 = SystemRolePermission1( +system_role_id='ef5d413f-ba18-49e6-9a72-bb115aa133ff', +subject_id='db3d85ef-c324-458b-b206-58debaa96419', +value=1, +subject=0 +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UnassignAction.md b/sailpoint/nerm/docs/Models/UnassignAction.md new file mode 100644 index 000000000..3b4364eb1 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UnassignAction.md @@ -0,0 +1,37 @@ +--- +id: unassign-action +title: UnassignAction +pagination_label: UnassignAction +sidebar_label: UnassignAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UnassignAction', 'UnassignAction'] +slug: /tools/sdk/python//models/unassign-action +tags: ['SDK', 'Software Development Kit', 'UnassignAction', 'UnassignAction'] +--- + +# UnassignAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.unassign_action import UnassignAction + +unassign_action = UnassignAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Un-assigns roles from a profile.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdateFormByIdRequest.md b/sailpoint/nerm/docs/Models/UpdateFormByIdRequest.md new file mode 100644 index 000000000..150327ad9 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdateFormByIdRequest.md @@ -0,0 +1,37 @@ +--- +id: update-form-by-id-request +title: UpdateFormByIdRequest +pagination_label: UpdateFormByIdRequest +sidebar_label: UpdateFormByIdRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdateFormByIdRequest', 'UpdateFormByIdRequest'] +slug: /tools/sdk/python//models/update-form-by-id-request +tags: ['SDK', 'Software Development Kit', 'UpdateFormByIdRequest', 'UpdateFormByIdRequest'] +--- + +# UpdateFormByIdRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**role** | [**Form1**](form1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest + +update_form_by_id_request = UpdateFormByIdRequest( +role=sailpoint.nerm.models.form_1.Form_1( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdatePageContentTranslationByIdRequest.md b/sailpoint/nerm/docs/Models/UpdatePageContentTranslationByIdRequest.md new file mode 100644 index 000000000..a2ec925cb --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdatePageContentTranslationByIdRequest.md @@ -0,0 +1,36 @@ +--- +id: update-page-content-translation-by-id-request +title: UpdatePageContentTranslationByIdRequest +pagination_label: UpdatePageContentTranslationByIdRequest +sidebar_label: UpdatePageContentTranslationByIdRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdatePageContentTranslationByIdRequest', 'UpdatePageContentTranslationByIdRequest'] +slug: /tools/sdk/python//models/update-page-content-translation-by-id-request +tags: ['SDK', 'Software Development Kit', 'UpdatePageContentTranslationByIdRequest', 'UpdatePageContentTranslationByIdRequest'] +--- + +# UpdatePageContentTranslationByIdRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**page_content_translation** | [**PageContent1**](page-content1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest + +update_page_content_translation_by_id_request = UpdatePageContentTranslationByIdRequest( +page_content_translation=sailpoint.nerm.models.page_content_1.PageContent_1( + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdateProfileAction.md b/sailpoint/nerm/docs/Models/UpdateProfileAction.md new file mode 100644 index 000000000..68bb26615 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdateProfileAction.md @@ -0,0 +1,37 @@ +--- +id: update-profile-action +title: UpdateProfileAction +pagination_label: UpdateProfileAction +sidebar_label: UpdateProfileAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdateProfileAction', 'UpdateProfileAction'] +slug: /tools/sdk/python//models/update-profile-action +tags: ['SDK', 'Software Development Kit', 'UpdateProfileAction', 'UpdateProfileAction'] +--- + +# UpdateProfileAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.update_profile_action import UpdateProfileAction + +update_profile_action = UpdateProfileAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Updates a profile with all attributes collected during the workflow.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdateProfileRequest.md b/sailpoint/nerm/docs/Models/UpdateProfileRequest.md new file mode 100644 index 000000000..7a495e470 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdateProfileRequest.md @@ -0,0 +1,33 @@ +--- +id: update-profile-request +title: UpdateProfileRequest +pagination_label: UpdateProfileRequest +sidebar_label: UpdateProfileRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdateProfileRequest', 'UpdateProfileRequest'] +slug: /tools/sdk/python//models/update-profile-request +tags: ['SDK', 'Software Development Kit', 'UpdateProfileRequest', 'UpdateProfileRequest'] +--- + +# UpdateProfileRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile** | [**UpdateProfileRequestProfile**](update-profile-request-profile) | | [required] +} + +## Example + +```python +from sailpoint.nerm.models.update_profile_request import UpdateProfileRequest + +update_profile_request = UpdateProfileRequest( +profile={attributes={First Name=John, Last Name=Doe, Email=john.doe@sailpoint.com}} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdateProfileRequestProfile.md b/sailpoint/nerm/docs/Models/UpdateProfileRequestProfile.md new file mode 100644 index 000000000..b4766303e --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdateProfileRequestProfile.md @@ -0,0 +1,34 @@ +--- +id: update-profile-request-profile +title: UpdateProfileRequestProfile +pagination_label: UpdateProfileRequestProfile +sidebar_label: UpdateProfileRequestProfile +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdateProfileRequestProfile', 'UpdateProfileRequestProfile'] +slug: /tools/sdk/python//models/update-profile-request-profile +tags: ['SDK', 'Software Development Kit', 'UpdateProfileRequestProfile', 'UpdateProfileRequestProfile'] +--- + +# UpdateProfileRequestProfile + +The profile object to be updated with its schema-mapped attributes. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | **map[string]object** | schema-mapped attributes to be updated | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.update_profile_request_profile import UpdateProfileRequestProfile + +update_profile_request_profile = UpdateProfileRequestProfile( +attributes={ } +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UpdateWorkflow.md b/sailpoint/nerm/docs/Models/UpdateWorkflow.md new file mode 100644 index 000000000..4386516f6 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UpdateWorkflow.md @@ -0,0 +1,43 @@ +--- +id: update-workflow +title: UpdateWorkflow +pagination_label: UpdateWorkflow +sidebar_label: UpdateWorkflow +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UpdateWorkflow', 'UpdateWorkflow'] +slug: /tools/sdk/python//models/update-workflow +tags: ['SDK', 'Software Development Kit', 'UpdateWorkflow', 'UpdateWorkflow'] +--- + +# UpdateWorkflow + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_type_id** | **str** | The profile type the workflow effects. | [required] +**status** | **Enum** [ 'Enabled', 'Disabled' ] | Whether or not the workflow is enabled or disabled. | [required] +**uid** | **str** | The user-specified identifier of the workflow. | [required] +**name** | **str** | Name of the workflow | [required] +**profile_status** | **str** | The status of the profiles the workflow will effect. | [required] +**disable_failure_email_notifications** | **bool** | When honored at runtime, suppresses failure email notifications for this workflow's sessions. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.update_workflow import UpdateWorkflow + +update_workflow = UpdateWorkflow( +profile_type_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +status='Enabled', +uid='my_uid', +name='my_workflow', +profile_status='active', +disable_failure_email_notifications=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Url.md b/sailpoint/nerm/docs/Models/Url.md new file mode 100644 index 000000000..60ab97a85 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Url.md @@ -0,0 +1,33 @@ +--- +id: url +title: Url +pagination_label: Url +sidebar_label: Url +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Url', 'Url'] +slug: /tools/sdk/python//models/url +tags: ['SDK', 'Software Development Kit', 'Url', 'Url'] +--- + +# Url + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.url import Url + +url = Url( +url='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/User.md b/sailpoint/nerm/docs/Models/User.md new file mode 100644 index 000000000..12d51162f --- /dev/null +++ b/sailpoint/nerm/docs/Models/User.md @@ -0,0 +1,59 @@ +--- +id: user +title: User +pagination_label: User +sidebar_label: User +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'User', 'User'] +slug: /tools/sdk/python//models/user +tags: ['SDK', 'Software Development Kit', 'User', 'User'] +--- + +# User + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID of the object to retrieve or update | [optional] +**uid** | **str** | UID of the user | [optional] +**name** | **str** | The name | [optional] +**email** | **str** | The email | [optional] +**type** | **Enum** [ 'NeprofileUser', 'NeaccessUser' ] | Type of user | [optional] [default to 'NeprofileUser'] +**title** | **str** | The title | [optional] +**status** | **Enum** [ 'Active', 'Pending', 'Disabled' ] | Status of the user | [optional] +**login** | **str** | The login | [optional] +**last_login** | **datetime** | When the user last logged in | [optional] [readonly] +**cookies_accepted_at** | **datetime** | When cookies were accepted | [optional] [readonly] +**preferred_language** | **str** | The locale the user prefers to use | [optional] +**locale** | **str** | The locale the user prefers to use | [optional] +**group_strings** | **str** | Group strings configured on the customer's Active Directory configuration, provided by the IDP at the moment on authentication. | [optional] +**sailpoint_identity_id** | **str** | The identity ID of the user in ISC | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user import User + +user = User( +id='db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', +uid='user1', +name='myusername', +email='test@sailpoint.com', +type='NeprofileUser', +title='Director', +status='Active', +login='myLogin', +last_login=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +cookies_accepted_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +preferred_language='fr-CA', +locale='fr-CA', +group_strings='Admin_group, Developer_group', +sailpoint_identity_id='9496f8d6ddab49c0bef1e9ee6f1b835a' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/User1.md b/sailpoint/nerm/docs/Models/User1.md new file mode 100644 index 000000000..12fb38a2b --- /dev/null +++ b/sailpoint/nerm/docs/Models/User1.md @@ -0,0 +1,53 @@ +--- +id: user1 +title: User1 +pagination_label: User1 +sidebar_label: User1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'User1', 'User1'] +slug: /tools/sdk/python//models/user1 +tags: ['SDK', 'Software Development Kit', 'User1', 'User1'] +--- + +# User1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The user name | [required] +**email** | **str** | The user email | [required] +**type** | **Enum** [ 'NeprofileUser', 'NeaccessUser' ] | The user type | [required][default to 'NeprofileUser'] +**profile_id** | **str** | The user profile id. Not required for NeprofileUser | [optional] +**title** | **str** | The user description | [optional] +**status** | **Enum** [ 'Active', 'Pending', 'Disabled' ] | The user status | [optional] +**login** | **str** | The user login | [required] +**group_strings** | **str** | The user group strings | [optional] +**locale** | **str** | The locale the user prefers to use | [optional] +**password** | **str** | The user password. Not required for NeprofileUser | [optional] +**sailpoint_identity_id** | **str** | The SailPoint Identity ID associated with this user | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user1 import User1 + +user1 = User1( +name='Bob', +email='test@sailpoint.com', +type='NeprofileUser', +profile_id='db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', +title='my_user_title', +status='Active', +login='my_user', +group_strings='Administrator_group,Developer_group', +locale='fr-CA', +password='U*bF7hy9fW', +sailpoint_identity_id='db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserManager.md b/sailpoint/nerm/docs/Models/UserManager.md new file mode 100644 index 000000000..a4e766b6e --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserManager.md @@ -0,0 +1,39 @@ +--- +id: user-manager +title: UserManager +pagination_label: UserManager +sidebar_label: UserManager +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserManager', 'UserManager'] +slug: /tools/sdk/python//models/user-manager +tags: ['SDK', 'Software Development Kit', 'UserManager', 'UserManager'] +--- + +# UserManager + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**user_id** | **str** | | [optional] +**manager_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_manager import UserManager + +user_manager = UserManager( +id='', +uid='', +user_id='', +manager_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserManager1.md b/sailpoint/nerm/docs/Models/UserManager1.md new file mode 100644 index 000000000..ab7ddf7b0 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserManager1.md @@ -0,0 +1,35 @@ +--- +id: user-manager1 +title: UserManager1 +pagination_label: UserManager1 +sidebar_label: UserManager1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserManager1', 'UserManager1'] +slug: /tools/sdk/python//models/user-manager1 +tags: ['SDK', 'Software Development Kit', 'UserManager1', 'UserManager1'] +--- + +# UserManager1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | | [optional] +**manager_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_manager1 import UserManager1 + +user_manager1 = UserManager1( +user_id='', +manager_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserManagers.md b/sailpoint/nerm/docs/Models/UserManagers.md new file mode 100644 index 000000000..2608df214 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserManagers.md @@ -0,0 +1,39 @@ +--- +id: user-managers +title: UserManagers +pagination_label: UserManagers +sidebar_label: UserManagers +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserManagers', 'UserManagers'] +slug: /tools/sdk/python//models/user-managers +tags: ['SDK', 'Software Development Kit', 'UserManagers', 'UserManagers'] +--- + +# UserManagers + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_managers** | [**[]UserManager**](user-manager) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_managers import UserManagers + +user_managers = UserManagers( +user_managers=[ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserProfile.md b/sailpoint/nerm/docs/Models/UserProfile.md new file mode 100644 index 000000000..c15b9ae88 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserProfile.md @@ -0,0 +1,43 @@ +--- +id: user-profile +title: UserProfile +pagination_label: UserProfile +sidebar_label: UserProfile +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserProfile', 'UserProfile'] +slug: /tools/sdk/python//models/user-profile +tags: ['SDK', 'Software Development Kit', 'UserProfile', 'UserProfile'] +--- + +# UserProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**user_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +**ne_attribute_id** | **str** | | [optional] +**relationship_type** | **Enum** [ 'owner', 'contributor' ] | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_profile import UserProfile + +user_profile = UserProfile( +id='', +uid='', +user_id='', +profile_id='', +ne_attribute_id='', +relationship_type='owner' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserProfile1.md b/sailpoint/nerm/docs/Models/UserProfile1.md new file mode 100644 index 000000000..a77c1bb55 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserProfile1.md @@ -0,0 +1,39 @@ +--- +id: user-profile1 +title: UserProfile1 +pagination_label: UserProfile1 +sidebar_label: UserProfile1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserProfile1', 'UserProfile1'] +slug: /tools/sdk/python//models/user-profile1 +tags: ['SDK', 'Software Development Kit', 'UserProfile1', 'UserProfile1'] +--- + +# UserProfile1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +**ne_attribute_id** | **str** | | [optional] +**relationship_type** | **Enum** [ 'owner', 'contributor' ] | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_profile1 import UserProfile1 + +user_profile1 = UserProfile1( +user_id='', +profile_id='', +ne_attribute_id='', +relationship_type='owner' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserProfiles.md b/sailpoint/nerm/docs/Models/UserProfiles.md new file mode 100644 index 000000000..a59a196c5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserProfiles.md @@ -0,0 +1,41 @@ +--- +id: user-profiles +title: UserProfiles +pagination_label: UserProfiles +sidebar_label: UserProfiles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserProfiles', 'UserProfiles'] +slug: /tools/sdk/python//models/user-profiles +tags: ['SDK', 'Software Development Kit', 'UserProfiles', 'UserProfiles'] +--- + +# UserProfiles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_profiles** | [**[]UserProfile**](user-profile) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_profiles import UserProfiles + +user_profiles = UserProfiles( +user_profiles=[ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserRole.md b/sailpoint/nerm/docs/Models/UserRole.md new file mode 100644 index 000000000..7c73efa46 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserRole.md @@ -0,0 +1,39 @@ +--- +id: user-role +title: UserRole +pagination_label: UserRole +sidebar_label: UserRole +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserRole', 'UserRole'] +slug: /tools/sdk/python//models/user-role +tags: ['SDK', 'Software Development Kit', 'UserRole', 'UserRole'] +--- + +# UserRole + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] [readonly] +**uid** | **str** | | [optional] [readonly] +**user_id** | **str** | | [optional] +**role_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_role import UserRole + +user_role = UserRole( +id='', +uid='', +user_id='', +role_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserRole1.md b/sailpoint/nerm/docs/Models/UserRole1.md new file mode 100644 index 000000000..ab1667912 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserRole1.md @@ -0,0 +1,35 @@ +--- +id: user-role1 +title: UserRole1 +pagination_label: UserRole1 +sidebar_label: UserRole1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserRole1', 'UserRole1'] +slug: /tools/sdk/python//models/user-role1 +tags: ['SDK', 'Software Development Kit', 'UserRole1', 'UserRole1'] +--- + +# UserRole1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | | [optional] +**role_id** | **str** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_role1 import UserRole1 + +user_role1 = UserRole1( +user_id='', +role_id='' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UserRoles.md b/sailpoint/nerm/docs/Models/UserRoles.md new file mode 100644 index 000000000..f2fb071ac --- /dev/null +++ b/sailpoint/nerm/docs/Models/UserRoles.md @@ -0,0 +1,39 @@ +--- +id: user-roles +title: UserRoles +pagination_label: UserRoles +sidebar_label: UserRoles +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UserRoles', 'UserRoles'] +slug: /tools/sdk/python//models/user-roles +tags: ['SDK', 'Software Development Kit', 'UserRoles', 'UserRoles'] +--- + +# UserRoles + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_roles** | [**[]UserRole**](user-role) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.user_roles import UserRoles + +user_roles = UserRoles( +user_roles=[ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/UsernamePasswordAction.md b/sailpoint/nerm/docs/Models/UsernamePasswordAction.md new file mode 100644 index 000000000..371be9f80 --- /dev/null +++ b/sailpoint/nerm/docs/Models/UsernamePasswordAction.md @@ -0,0 +1,37 @@ +--- +id: username-password-action +title: UsernamePasswordAction +pagination_label: UsernamePasswordAction +sidebar_label: UsernamePasswordAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'UsernamePasswordAction', 'UsernamePasswordAction'] +slug: /tools/sdk/python//models/username-password-action +tags: ['SDK', 'Software Development Kit', 'UsernamePasswordAction', 'UsernamePasswordAction'] +--- + +# UsernamePasswordAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [required] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.username_password_action import UsernamePasswordAction + +username_password_action = UsernamePasswordAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Prompt the user for their username and password.', +archived=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/Users.md b/sailpoint/nerm/docs/Models/Users.md new file mode 100644 index 000000000..0b8608ec8 --- /dev/null +++ b/sailpoint/nerm/docs/Models/Users.md @@ -0,0 +1,49 @@ +--- +id: users +title: Users +pagination_label: Users +sidebar_label: Users +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Users', 'Users'] +slug: /tools/sdk/python//models/users +tags: ['SDK', 'Software Development Kit', 'Users', 'Users'] +--- + +# Users + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**[]User**](user) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.users import Users + +users = Users( +users=[ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/ValidationErrors.md b/sailpoint/nerm/docs/Models/ValidationErrors.md new file mode 100644 index 000000000..ee4658cc4 --- /dev/null +++ b/sailpoint/nerm/docs/Models/ValidationErrors.md @@ -0,0 +1,35 @@ +--- +id: validation-errors +title: ValidationErrors +pagination_label: ValidationErrors +sidebar_label: ValidationErrors +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'ValidationErrors', 'ValidationErrors'] +slug: /tools/sdk/python//models/validation-errors +tags: ['SDK', 'Software Development Kit', 'ValidationErrors', 'ValidationErrors'] +--- + +# ValidationErrors + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | | [optional] +**errors** | **object** | | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.validation_errors import ValidationErrors + +validation_errors = ValidationErrors( +error=The failed to create/update, +errors={attribute=can't be blank} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowAction.md b/sailpoint/nerm/docs/Models/WorkflowAction.md new file mode 100644 index 000000000..ccc32f128 --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowAction.md @@ -0,0 +1,51 @@ +--- +id: workflow-action +title: WorkflowAction +pagination_label: WorkflowAction +sidebar_label: WorkflowAction +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowAction', 'WorkflowAction'] +slug: /tools/sdk/python//models/workflow-action +tags: ['SDK', 'Software Development Kit', 'WorkflowAction', 'WorkflowAction'] +--- + +# WorkflowAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow the workflow action belongs to. | [required] +**description** | **str** | The description of the workflow action. | [optional] +**page_id** | **str** | The page the workflow action should render. | [required] +**add_requester_as_owner** | **bool** | If the requester should be added as the owner of the profile to be created. | [optional] [default to True] +**email_attribute_id** | **str** | The attribute storing the email address for the workflow action. | [optional] +**email_addresses** | **[]str** | The email addresses for the workflow action. | [optional] +**new_status** | **str** | The new status for the Status Change workflow action. | [optional] +**archived** | **bool** | If the workflow action is archived or not. | [optional] [default to False] +**skippable** | **bool** | If the workflow action is skippable or not. | [optional] [default to False] +**requires_comment** | **bool** | If the workflow action requires a comment or not. | [optional] [default to False] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_action import WorkflowAction + +workflow_action = WorkflowAction( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +description='Require approval from another user or a group of users with a specific role.', +page_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +add_requester_as_owner=True, +email_attribute_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +email_addresses=[johndoe@gmail.com, janedoe@gmail.com], +new_status='Active, Inactive, On Leave, Terminated', +archived=False, +skippable=False, +requires_comment=False +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowActionPerformers.md b/sailpoint/nerm/docs/Models/WorkflowActionPerformers.md new file mode 100644 index 000000000..b583c0072 --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowActionPerformers.md @@ -0,0 +1,49 @@ +--- +id: workflow-action-performers +title: WorkflowActionPerformers +pagination_label: WorkflowActionPerformers +sidebar_label: WorkflowActionPerformers +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowActionPerformers', 'WorkflowActionPerformers'] +slug: /tools/sdk/python//models/workflow-action-performers +tags: ['SDK', 'Software Development Kit', 'WorkflowActionPerformers', 'WorkflowActionPerformers'] +--- + +# WorkflowActionPerformers + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the workflow action performer that was created. | [optional] +**contributor_attribute_id** | **str** | The id of the user attribute to perform the action. | [optional] +**contributors** | **bool** | Set to allow profile contributor to perform the action. | [optional] [default to False] +**contributors_manager_attribute_id** | **str** | The id of the user attribute to perform the action. | [optional] +**owner** | **bool** | Set to allow profile owner to perform the action. | [optional] [default to False] +**profiles_contributors_attribute_id** | **str** | The id of the profile attribute to perform the action. | [optional] +**requester** | **bool** | Set to allow requester from the request to perform the action. | [optional] [default to False] +**requesters_manager** | **bool** | Set to allow the requester's manager from the request to perform the action. | [optional] [default to False] +**workflow_action_id** | **str** | The id of the workflow action. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_action_performers import WorkflowActionPerformers + +workflow_action_performers = WorkflowActionPerformers( +id='e6905f25-489a-43cd-a758-bdacaf60dcab', +contributor_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +contributors=True, +contributors_manager_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +owner=True, +profiles_contributors_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +requester=True, +requesters_manager=True, +workflow_action_id='e6905f25-489a-43cd-a758-bdacaf60dcab' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowActionPerformers1.md b/sailpoint/nerm/docs/Models/WorkflowActionPerformers1.md new file mode 100644 index 000000000..263e5ac7c --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowActionPerformers1.md @@ -0,0 +1,47 @@ +--- +id: workflow-action-performers1 +title: WorkflowActionPerformers1 +pagination_label: WorkflowActionPerformers1 +sidebar_label: WorkflowActionPerformers1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowActionPerformers1', 'WorkflowActionPerformers1'] +slug: /tools/sdk/python//models/workflow-action-performers1 +tags: ['SDK', 'Software Development Kit', 'WorkflowActionPerformers1', 'WorkflowActionPerformers1'] +--- + +# WorkflowActionPerformers1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**contributor_attribute_id** | **str** | Specify the id of the user attribute to perform the action. | [optional] +**contributors** | **bool** | Set to true to allow profile contributor to perform the action. | [optional] [default to False] +**contributors_manager_attribute_id** | **str** | Specify the id of the user attribute to perform the action. | [optional] +**owner** | **bool** | Set to true to allow profile owner to perform the action. | [optional] [default to False] +**profiles_contributors_attribute_id** | **str** | Specify the id of the profile attribute to perform the action. | [optional] +**requester** | **bool** | Set to true to allow requester from the request to perform the action. | [optional] [default to False] +**requesters_manager** | **bool** | Set to true to allow the requester's manager from the request to perform the action. | [optional] [default to False] +**workflow_action_id** | **str** | Specify the id of the workflow action you would like to create the workflow action performer/s for. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_action_performers1 import WorkflowActionPerformers1 + +workflow_action_performers1 = WorkflowActionPerformers1( +contributor_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +contributors=True, +contributors_manager_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +owner=True, +profiles_contributors_attribute_id='e6905f25-489a-43cd-a758-bdacaf60dcab', +requester=True, +requesters_manager=True, +workflow_action_id='e6905f25-489a-43cd-a758-bdacaf60dcab' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowPage.md b/sailpoint/nerm/docs/Models/WorkflowPage.md new file mode 100644 index 000000000..075032b2c --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowPage.md @@ -0,0 +1,41 @@ +--- +id: workflow-page +title: WorkflowPage +pagination_label: WorkflowPage +sidebar_label: WorkflowPage +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowPage', 'WorkflowPage'] +slug: /tools/sdk/python//models/workflow-page +tags: ['SDK', 'Software Development Kit', 'WorkflowPage', 'WorkflowPage'] +--- + +# WorkflowPage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uid** | **str** | The user-specified identifier of the page | [optional] +**description** | **str** | The description of the page | [optional] +**name** | **str** | The name of the page | [optional] +**archived** | **bool** | Determines whether the page is archived | [optional] +**id** | **str** | The id of the form | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_page import WorkflowPage + +workflow_page = WorkflowPage( +uid='page_uid', +description='Page for workflow', +name='My Page Name', +archived=False, +id='2e06b876-f456-473d-bd65-b6435e0b6b2d' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowSession.md b/sailpoint/nerm/docs/Models/WorkflowSession.md new file mode 100644 index 000000000..9c8b709a5 --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowSession.md @@ -0,0 +1,49 @@ +--- +id: workflow-session +title: WorkflowSession +pagination_label: WorkflowSession +sidebar_label: WorkflowSession +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowSession', 'WorkflowSession'] +slug: /tools/sdk/python//models/workflow-session +tags: ['SDK', 'Software Development Kit', 'WorkflowSession', 'WorkflowSession'] +--- + +# WorkflowSession + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The objects ID. | [optional] [readonly] +**uid** | **str** | The objects UID. | [optional] [readonly] +**workflow_id** | **str** | The workflow id. | [optional] +**requester_id** | **str** | The requester's id. | [optional] +**requester_type** | **Enum** [ 'User', 'NeprofileUser', 'NeaccessUser' ] | The requester type. | [optional] +**profile_id** | **str** | The profile this workflow session will be working with. Only Applicable for Update workflows | [optional] +**profile_ids** | **[]str** | The profiles this workflow session will be working with. Only Applicable for Batch workflows | [optional] +**status** | **Enum** [ 'api_request_sent', 'approved', 'assigned', 'attempting_to_start_workflow', 'AUTH-STATUS1', 'AUTH-STATUS2', 'AUTH-STATUS3', 'AUTH-STATUS4', 'AUTH-STATUS5', 'AUTH-STATUS6', 'AUTH-STATUS7', 'AUTH-STATUS8', 'AUTH-STATUS9', 'auto_assigned', 'batch_completed', 'checking_for_duplicates', 'closed', 'completed', 'courion_add', 'courion_extend', 'courion_terminate', 'courion_update', 'duplicates_resolved', 'failed', 'fulfilled', 'invitation_sent', 'ldap_provided', 'new', 'non_employee_created', 'non_employee_updated', 'notified', 'pending_approval', 'pending_assignment', 'pending_courion_add', 'pending_courion_extend', 'pending_courion_terminate', 'pending_courion_update', 'pending_creation', 'pending_fulfillment', 'pending_ldap', 'pending_notification', 'pending_profile_select', 'pending_request', 'pending_review', 'pending_status_change', 'pending_stored_procedure', 'pending_trigger', 'pending_update', 'processing', 'profile_check_complete', 'profiles_selected', 'rejected', 'requested', 'reviewed', 'soap_request_sent', 'started_workflow', 'status_changed', 'stored_procedure', 'un_assigned', 'waiting_on_workflow', 'workflow_changed' ] | The status of the workflow session. | [optional] +**attributes** | **map[string]str** | The attributes asscoiated with the workflow session. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_session import WorkflowSession + +workflow_session = WorkflowSession( +id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +uid='wsUid', +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +requester_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +requester_type='User', +profile_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +profile_ids=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, +status='completed', +attributes={text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/docs/Models/WorkflowSession1.md b/sailpoint/nerm/docs/Models/WorkflowSession1.md new file mode 100644 index 000000000..5d401480a --- /dev/null +++ b/sailpoint/nerm/docs/Models/WorkflowSession1.md @@ -0,0 +1,43 @@ +--- +id: workflow-session1 +title: WorkflowSession1 +pagination_label: WorkflowSession1 +sidebar_label: WorkflowSession1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'WorkflowSession1', 'WorkflowSession1'] +slug: /tools/sdk/python//models/workflow-session1 +tags: ['SDK', 'Software Development Kit', 'WorkflowSession1', 'WorkflowSession1'] +--- + +# WorkflowSession1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**workflow_id** | **str** | The workflow id. | [required] +**requester_id** | **str** | The requester's id. | [required] +**requester_type** | **Enum** [ 'User', 'NeprofileUser', 'NeaccessUser' ] | The requester type. | [required] +**profile_id** | **str** | The profile this workflow session will be working with. Only Applicable for Update workflows | [optional] +**profile_ids** | **[]str** | The profiles this workflow session will be working with. Only Applicable for Batch workflows | [optional] +**attributes** | **map[string]str** | The attributes associated with the workflow session. | [optional] +} + +## Example + +```python +from sailpoint.nerm.models.workflow_session1 import WorkflowSession1 + +workflow_session1 = WorkflowSession1( +workflow_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +requester_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +requester_type='User', +profile_id='33f072dd-13b4-41e1-8ea0-16f2a59b57c8', +profile_ids=[59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e], +attributes={text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/exceptions.py b/sailpoint/nerm/exceptions.py new file mode 100644 index 000000000..658746705 --- /dev/null +++ b/sailpoint/nerm/exceptions.py @@ -0,0 +1,216 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.getheaders() + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.body) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.data or self.body: + error_message += "HTTP response body: {0}\n".format(self.data or self.body) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/sailpoint/nerm/models/__init__.py b/sailpoint/nerm/models/__init__.py new file mode 100644 index 000000000..190cefe50 --- /dev/null +++ b/sailpoint/nerm/models/__init__.py @@ -0,0 +1,295 @@ +# coding: utf-8 + +# flake8: noqa +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from sailpoint.nerm.models.advanced_search import AdvancedSearch +from sailpoint.nerm.models.advanced_search1 import AdvancedSearch1 +from sailpoint.nerm.models.advanced_search1_condition_rules_attributes_inner import AdvancedSearch1ConditionRulesAttributesInner +from sailpoint.nerm.models.advanced_search_condition_rules_attributes_inner import AdvancedSearchConditionRulesAttributesInner +from sailpoint.nerm.models.approval_action import ApprovalAction +from sailpoint.nerm.models.ask_security_question_action import AskSecurityQuestionAction +from sailpoint.nerm.models.attribute import Attribute +from sailpoint.nerm.models.attribute1 import Attribute1 +from sailpoint.nerm.models.attribute1_validations_attributes import Attribute1ValidationsAttributes +from sailpoint.nerm.models.attribute_option import AttributeOption +from sailpoint.nerm.models.attribute_option1 import AttributeOption1 +from sailpoint.nerm.models.attribute_options import AttributeOptions +from sailpoint.nerm.models.attribute_properties import AttributeProperties +from sailpoint.nerm.models.audit_event import AuditEvent +from sailpoint.nerm.models.audit_event_created_at import AuditEventCreatedAt +from sailpoint.nerm.models.audit_event_data import AuditEventData +from sailpoint.nerm.models.auto_assign_action import AutoAssignAction +from sailpoint.nerm.models.automated_workflow import AutomatedWorkflow +from sailpoint.nerm.models.automated_workflow_condition_rules_attributes_inner import AutomatedWorkflowConditionRulesAttributesInner +from sailpoint.nerm.models.batch_update_action import BatchUpdateAction +from sailpoint.nerm.models.batch_workflow import BatchWorkflow +from sailpoint.nerm.models.batch_workflow_options import BatchWorkflowOptions +from sailpoint.nerm.models.close_session_action import CloseSessionAction +from sailpoint.nerm.models.contributors_action import ContributorsAction +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response +from sailpoint.nerm.models.create_approval_action_request import CreateApprovalActionRequest +from sailpoint.nerm.models.create_ask_security_question_action_request import CreateAskSecurityQuestionActionRequest +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest +from sailpoint.nerm.models.create_auto_assign_action_request import CreateAutoAssignActionRequest +from sailpoint.nerm.models.create_automated_workflow_request import CreateAutomatedWorkflowRequest +from sailpoint.nerm.models.create_batch_update_action_request import CreateBatchUpdateActionRequest +from sailpoint.nerm.models.create_batch_workflow_request import CreateBatchWorkflowRequest +from sailpoint.nerm.models.create_close_session_action_request import CreateCloseSessionActionRequest +from sailpoint.nerm.models.create_contributors_action_request import CreateContributorsActionRequest +from sailpoint.nerm.models.create_create_profile_action_request import CreateCreateProfileActionRequest +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest +from sailpoint.nerm.models.create_duplicate_prevention_action_request import CreateDuplicatePreventionActionRequest +from sailpoint.nerm.models.create_email_verification_action_request import CreateEmailVerificationActionRequest +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest +from sailpoint.nerm.models.create_form_request import CreateFormRequest +from sailpoint.nerm.models.create_fulfillment_action_request import CreateFulfillmentActionRequest +from sailpoint.nerm.models.create_identity_proofing_action_request import CreateIdentityProofingActionRequest +from sailpoint.nerm.models.create_invitation_action_request import CreateInvitationActionRequest +from sailpoint.nerm.models.create_ldap_action_request import CreateLdapActionRequest +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest +from sailpoint.nerm.models.create_notification_action_request import CreateNotificationActionRequest +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest +from sailpoint.nerm.models.create_page_content_translation_request import CreatePageContentTranslationRequest +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest +from sailpoint.nerm.models.create_password_reset_action_request import CreatePasswordResetActionRequest +from sailpoint.nerm.models.create_permission200_response import CreatePermission200Response +from sailpoint.nerm.models.create_permission_request import CreatePermissionRequest +from sailpoint.nerm.models.create_profile_action import CreateProfileAction +from sailpoint.nerm.models.create_profile_check_action_request import CreateProfileCheckActionRequest +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response +from sailpoint.nerm.models.create_profile_page_request import CreateProfilePageRequest +from sailpoint.nerm.models.create_profile_select_action_request import CreateProfileSelectActionRequest +from sailpoint.nerm.models.create_profile_type_role200_response import CreateProfileTypeRole200Response +from sailpoint.nerm.models.create_profile_type_role_request import CreateProfileTypeRoleRequest +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest +from sailpoint.nerm.models.create_request_action_request import CreateRequestActionRequest +from sailpoint.nerm.models.create_rest_api_action_request import CreateRestApiActionRequest +from sailpoint.nerm.models.create_review_action_request import CreateReviewActionRequest +from sailpoint.nerm.models.create_run_workflow_action_request import CreateRunWorkflowActionRequest +from sailpoint.nerm.models.create_set_attributes_action_request import CreateSetAttributesActionRequest +from sailpoint.nerm.models.create_set_security_question_action_request import CreateSetSecurityQuestionActionRequest +from sailpoint.nerm.models.create_soap_api_action_request import CreateSoapApiActionRequest +from sailpoint.nerm.models.create_status_change_action_request import CreateStatusChangeActionRequest +from sailpoint.nerm.models.create_synced_attribute201_response import CreateSyncedAttribute201Response +from sailpoint.nerm.models.create_system_role_permission200_response import CreateSystemRolePermission200Response +from sailpoint.nerm.models.create_system_role_permission_request import CreateSystemRolePermissionRequest +from sailpoint.nerm.models.create_unassign_action_request import CreateUnassignActionRequest +from sailpoint.nerm.models.create_update_profile_action_request import CreateUpdateProfileActionRequest +from sailpoint.nerm.models.create_update_workflow_request import CreateUpdateWorkflowRequest +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest +from sailpoint.nerm.models.create_username_password_action_request import CreateUsernamePasswordActionRequest +from sailpoint.nerm.models.create_workflow import CreateWorkflow +from sailpoint.nerm.models.create_workflow_action_performer200_response import CreateWorkflowActionPerformer200Response +from sailpoint.nerm.models.create_workflow_action_performer_request import CreateWorkflowActionPerformerRequest +from sailpoint.nerm.models.create_workflow_page_request import CreateWorkflowPageRequest +from sailpoint.nerm.models.data_records import DataRecords +from sailpoint.nerm.models.delegation import Delegation +from sailpoint.nerm.models.delegation1 import Delegation1 +from sailpoint.nerm.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.models.delegations_post404_response import DelegationsPost404Response +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response +from sailpoint.nerm.models.delete_master_record400_response import DeleteMasterRecord400Response +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response +from sailpoint.nerm.models.delete_profiles200_response import DeleteProfiles200Response +from sailpoint.nerm.models.duplicate_prevention_action import DuplicatePreventionAction +from sailpoint.nerm.models.email_verification_action import EmailVerificationAction +from sailpoint.nerm.models.form import Form +from sailpoint.nerm.models.form1 import Form1 +from sailpoint.nerm.models.form_attribute import FormAttribute +from sailpoint.nerm.models.form_attributes import FormAttributes +from sailpoint.nerm.models.forms import Forms +from sailpoint.nerm.models.fulfillment_action import FulfillmentAction +from sailpoint.nerm.models.get_advanced_search200_response import GetAdvancedSearch200Response +from sailpoint.nerm.models.get_attribute_options200_response import GetAttributeOptions200Response +from sailpoint.nerm.models.get_attributes200_response import GetAttributes200Response +from sailpoint.nerm.models.get_attributes400_response import GetAttributes400Response +from sailpoint.nerm.models.get_attributes500_response import GetAttributes500Response +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response +from sailpoint.nerm.models.get_forms200_response import GetForms200Response +from sailpoint.nerm.models.get_identity_proofing_results200_response import GetIdentityProofingResults200Response +from sailpoint.nerm.models.get_job_status200_response import GetJobStatus200Response +from sailpoint.nerm.models.get_job_status200_response_job_data_inner import GetJobStatus200ResponseJobDataInner +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response +from sailpoint.nerm.models.get_profile_type_attributes200_response import GetProfileTypeAttributes200Response +from sailpoint.nerm.models.get_profile_type_attributes_sort_parameter import GetProfileTypeAttributesSortParameter +from sailpoint.nerm.models.get_profile_types200_response import GetProfileTypes200Response +from sailpoint.nerm.models.get_risk_level200_response import GetRiskLevel200Response +from sailpoint.nerm.models.get_risk_levels200_response import GetRiskLevels200Response +from sailpoint.nerm.models.get_risk_score200_response import GetRiskScore200Response +from sailpoint.nerm.models.get_risk_scores200_response import GetRiskScores200Response +from sailpoint.nerm.models.get_role_profiles200_response import GetRoleProfiles200Response +from sailpoint.nerm.models.get_roles200_response import GetRoles200Response +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response +from sailpoint.nerm.models.get_system_roles200_response import GetSystemRoles200Response +from sailpoint.nerm.models.get_user_managers200_response import GetUserManagers200Response +from sailpoint.nerm.models.get_user_profiles200_response import GetUserProfiles200Response +from sailpoint.nerm.models.get_user_roles200_response import GetUserRoles200Response +from sailpoint.nerm.models.get_users200_response import GetUsers200Response +from sailpoint.nerm.models.get_workflow_actions200_response import GetWorkflowActions200Response +from sailpoint.nerm.models.get_workflow_sessions200_response import GetWorkflowSessions200Response +from sailpoint.nerm.models.identity_proofing_action import IdentityProofingAction +from sailpoint.nerm.models.identity_proofing_result import IdentityProofingResult +from sailpoint.nerm.models.invalid_json import InvalidJson +from sailpoint.nerm.models.invitation_action import InvitationAction +from sailpoint.nerm.models.invitation_action_configuration_attributes import InvitationActionConfigurationAttributes +from sailpoint.nerm.models.invitation_action_workflow_action_email_attributes import InvitationActionWorkflowActionEmailAttributes +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.job_job_status import JobJobStatus +from sailpoint.nerm.models.language import Language +from sailpoint.nerm.models.ldap_action import LdapAction +from sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes import LdapActionLdapActionUserRolesAttributes +from sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes import LdapActionWorkflowActionDirectoryGroupsAttributes +from sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes import LdapActionWorkflowActionValueBuildersAttributes +from sailpoint.nerm.models.login_workflow import LoginWorkflow +from sailpoint.nerm.models.login_workflow_options import LoginWorkflowOptions +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.metadata_with_after_id import MetadataWithAfterId +from sailpoint.nerm.models.notification_action import NotificationAction +from sailpoint.nerm.models.notification_action_workflow_action_email_attributes import NotificationActionWorkflowActionEmailAttributes +from sailpoint.nerm.models.page_content import PageContent +from sailpoint.nerm.models.page_content1 import PageContent1 +from sailpoint.nerm.models.page_content_translation import PageContentTranslation +from sailpoint.nerm.models.page_content_translation1 import PageContentTranslation1 +from sailpoint.nerm.models.page_element import PageElement +from sailpoint.nerm.models.page_element1 import PageElement1 +from sailpoint.nerm.models.pages import Pages +from sailpoint.nerm.models.password_reset_action import PasswordResetAction +from sailpoint.nerm.models.patch_language_request import PatchLanguageRequest +from sailpoint.nerm.models.permission import Permission +from sailpoint.nerm.models.permission1 import Permission1 +from sailpoint.nerm.models.profile import Profile +from sailpoint.nerm.models.profile1 import Profile1 +from sailpoint.nerm.models.profile_attribute_rule_date import ProfileAttributeRuleDate +from sailpoint.nerm.models.profile_attribute_rule_date1 import ProfileAttributeRuleDate1 +from sailpoint.nerm.models.profile_attribute_rule_id import ProfileAttributeRuleId +from sailpoint.nerm.models.profile_attribute_rule_id1 import ProfileAttributeRuleId1 +from sailpoint.nerm.models.profile_attribute_rule_string import ProfileAttributeRuleString +from sailpoint.nerm.models.profile_attribute_rule_string1 import ProfileAttributeRuleString1 +from sailpoint.nerm.models.profile_check_action import ProfileCheckAction +from sailpoint.nerm.models.profile_page import ProfilePage +from sailpoint.nerm.models.profile_select_action import ProfileSelectAction +from sailpoint.nerm.models.profile_status_rule import ProfileStatusRule +from sailpoint.nerm.models.profile_status_rule1 import ProfileStatusRule1 +from sailpoint.nerm.models.profile_type import ProfileType +from sailpoint.nerm.models.profile_type1 import ProfileType1 +from sailpoint.nerm.models.profile_type1_profile_type_dup_attributes_attributes_inner import ProfileType1ProfileTypeDupAttributesAttributesInner +from sailpoint.nerm.models.profile_type1_profile_type_namings_attributes_inner import ProfileType1ProfileTypeNamingsAttributesInner +from sailpoint.nerm.models.profile_type_attribute import ProfileTypeAttribute +from sailpoint.nerm.models.profile_type_attributes import ProfileTypeAttributes +from sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner import ProfileTypeProfileTypeDupAttributesInner +from sailpoint.nerm.models.profile_type_profile_type_namings_inner import ProfileTypeProfileTypeNamingsInner +from sailpoint.nerm.models.profile_type_roles import ProfileTypeRoles +from sailpoint.nerm.models.profile_type_roles1 import ProfileTypeRoles1 +from sailpoint.nerm.models.profile_type_rule import ProfileTypeRule +from sailpoint.nerm.models.profile_type_rule1 import ProfileTypeRule1 +from sailpoint.nerm.models.profiles import Profiles +from sailpoint.nerm.models.request_action import RequestAction +from sailpoint.nerm.models.rest_api_action import RestApiAction +from sailpoint.nerm.models.review_action import ReviewAction +from sailpoint.nerm.models.risk_level import RiskLevel +from sailpoint.nerm.models.risk_rule import RiskRule +from sailpoint.nerm.models.risk_rule1 import RiskRule1 +from sailpoint.nerm.models.risk_score import RiskScore +from sailpoint.nerm.models.role import Role +from sailpoint.nerm.models.role1 import Role1 +from sailpoint.nerm.models.role_profile import RoleProfile +from sailpoint.nerm.models.role_profile1 import RoleProfile1 +from sailpoint.nerm.models.role_profiles import RoleProfiles +from sailpoint.nerm.models.roles import Roles +from sailpoint.nerm.models.run_workflow_action import RunWorkflowAction +from sailpoint.nerm.models.run_workflow_action_configuration_attributes import RunWorkflowActionConfigurationAttributes +from sailpoint.nerm.models.search200_response import Search200Response +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response +from sailpoint.nerm.models.search_request import SearchRequest +from sailpoint.nerm.models.search_request_audit_events import SearchRequestAuditEvents +from sailpoint.nerm.models.set_attributes_action import SetAttributesAction +from sailpoint.nerm.models.set_security_question_action import SetSecurityQuestionAction +from sailpoint.nerm.models.soap_api_action import SoapApiAction +from sailpoint.nerm.models.status_change_action import StatusChangeAction +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest +from sailpoint.nerm.models.submit_profile_upload_request import SubmitProfileUploadRequest +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest +from sailpoint.nerm.models.synced_attribute import SyncedAttribute +from sailpoint.nerm.models.synced_attribute1 import SyncedAttribute1 +from sailpoint.nerm.models.system_role import SystemRole +from sailpoint.nerm.models.system_role_permission import SystemRolePermission +from sailpoint.nerm.models.system_role_permission1 import SystemRolePermission1 +from sailpoint.nerm.models.unassign_action import UnassignAction +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest +from sailpoint.nerm.models.update_profile_action import UpdateProfileAction +from sailpoint.nerm.models.update_profile_request import UpdateProfileRequest +from sailpoint.nerm.models.update_profile_request_profile import UpdateProfileRequestProfile +from sailpoint.nerm.models.update_workflow import UpdateWorkflow +from sailpoint.nerm.models.url import Url +from sailpoint.nerm.models.user import User +from sailpoint.nerm.models.user1 import User1 +from sailpoint.nerm.models.user_manager import UserManager +from sailpoint.nerm.models.user_manager1 import UserManager1 +from sailpoint.nerm.models.user_managers import UserManagers +from sailpoint.nerm.models.user_profile import UserProfile +from sailpoint.nerm.models.user_profile1 import UserProfile1 +from sailpoint.nerm.models.user_profiles import UserProfiles +from sailpoint.nerm.models.user_role import UserRole +from sailpoint.nerm.models.user_role1 import UserRole1 +from sailpoint.nerm.models.user_roles import UserRoles +from sailpoint.nerm.models.username_password_action import UsernamePasswordAction +from sailpoint.nerm.models.users import Users +from sailpoint.nerm.models.validation_errors import ValidationErrors +from sailpoint.nerm.models.workflow_action import WorkflowAction +from sailpoint.nerm.models.workflow_action_performers import WorkflowActionPerformers +from sailpoint.nerm.models.workflow_action_performers1 import WorkflowActionPerformers1 +from sailpoint.nerm.models.workflow_page import WorkflowPage +from sailpoint.nerm.models.workflow_session import WorkflowSession +from sailpoint.nerm.models.workflow_session1 import WorkflowSession1 diff --git a/sailpoint/nerm/models/advanced_search.py b/sailpoint/nerm/models/advanced_search.py new file mode 100644 index 000000000..c6b050d5b --- /dev/null +++ b/sailpoint/nerm/models/advanced_search.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.advanced_search_condition_rules_attributes_inner import AdvancedSearchConditionRulesAttributesInner +from typing import Optional, Set +from typing_extensions import Self + +class AdvancedSearch(BaseModel): + """ + AdvancedSearch + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + label: Optional[StrictStr] = None + condition_rules_attributes: Optional[List[AdvancedSearchConditionRulesAttributesInner]] = None + __properties: ClassVar[List[str]] = ["id", "uid", "label", "condition_rules_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdvancedSearch from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in condition_rules_attributes (list) + _items = [] + if self.condition_rules_attributes: + for _item_condition_rules_attributes in self.condition_rules_attributes: + if _item_condition_rules_attributes: + _items.append(_item_condition_rules_attributes.to_dict()) + _dict['condition_rules_attributes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvancedSearch from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "condition_rules_attributes": [AdvancedSearchConditionRulesAttributesInner.from_dict(_item) for _item in obj["condition_rules_attributes"]] if obj.get("condition_rules_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/advanced_search1.py b/sailpoint/nerm/models/advanced_search1.py new file mode 100644 index 000000000..4d7b4eebf --- /dev/null +++ b/sailpoint/nerm/models/advanced_search1.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.advanced_search1_condition_rules_attributes_inner import AdvancedSearch1ConditionRulesAttributesInner +from typing import Optional, Set +from typing_extensions import Self + +class AdvancedSearch1(BaseModel): + """ + AdvancedSearch1 + """ # noqa: E501 + label: Optional[StrictStr] = None + condition_rules_attributes: Optional[List[AdvancedSearch1ConditionRulesAttributesInner]] = None + __properties: ClassVar[List[str]] = ["label", "condition_rules_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdvancedSearch1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in condition_rules_attributes (list) + _items = [] + if self.condition_rules_attributes: + for _item_condition_rules_attributes in self.condition_rules_attributes: + if _item_condition_rules_attributes: + _items.append(_item_condition_rules_attributes.to_dict()) + _dict['condition_rules_attributes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvancedSearch1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "label": obj.get("label"), + "condition_rules_attributes": [AdvancedSearch1ConditionRulesAttributesInner.from_dict(_item) for _item in obj["condition_rules_attributes"]] if obj.get("condition_rules_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/advanced_search1_condition_rules_attributes_inner.py b/sailpoint/nerm/models/advanced_search1_condition_rules_attributes_inner.py new file mode 100644 index 000000000..59272ed27 --- /dev/null +++ b/sailpoint/nerm/models/advanced_search1_condition_rules_attributes_inner.py @@ -0,0 +1,194 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from sailpoint.nerm.models.profile_attribute_rule_date1 import ProfileAttributeRuleDate1 +from sailpoint.nerm.models.profile_attribute_rule_id1 import ProfileAttributeRuleId1 +from sailpoint.nerm.models.profile_attribute_rule_string1 import ProfileAttributeRuleString1 +from sailpoint.nerm.models.profile_status_rule1 import ProfileStatusRule1 +from sailpoint.nerm.models.profile_type_rule1 import ProfileTypeRule1 +from sailpoint.nerm.models.risk_rule1 import RiskRule1 +from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +ADVANCEDSEARCH1CONDITIONRULESATTRIBUTESINNER_ANY_OF_SCHEMAS = ["ProfileAttributeRuleDate1", "ProfileAttributeRuleId1", "ProfileAttributeRuleString1", "ProfileStatusRule1", "ProfileTypeRule1", "RiskRule1"] + +class AdvancedSearch1ConditionRulesAttributesInner(BaseModel): + """ + AdvancedSearch1ConditionRulesAttributesInner + """ + + # data type: ProfileTypeRule1 + anyof_schema_1_validator: Optional[ProfileTypeRule1] = None + # data type: ProfileStatusRule1 + anyof_schema_2_validator: Optional[ProfileStatusRule1] = None + # data type: ProfileAttributeRuleString1 + anyof_schema_3_validator: Optional[ProfileAttributeRuleString1] = None + # data type: ProfileAttributeRuleDate1 + anyof_schema_4_validator: Optional[ProfileAttributeRuleDate1] = None + # data type: ProfileAttributeRuleId1 + anyof_schema_5_validator: Optional[ProfileAttributeRuleId1] = None + # data type: RiskRule1 + anyof_schema_6_validator: Optional[RiskRule1] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[ProfileAttributeRuleDate1, ProfileAttributeRuleId1, ProfileAttributeRuleString1, ProfileStatusRule1, ProfileTypeRule1, RiskRule1]] = None + else: + actual_instance: Any = None + any_of_schemas: Set[str] = { "ProfileAttributeRuleDate1", "ProfileAttributeRuleId1", "ProfileAttributeRuleString1", "ProfileStatusRule1", "ProfileTypeRule1", "RiskRule1" } + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = AdvancedSearch1ConditionRulesAttributesInner.model_construct() + error_messages = [] + # validate data type: ProfileTypeRule1 + if not isinstance(v, ProfileTypeRule1): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileTypeRule1`") + else: + return v + + # validate data type: ProfileStatusRule1 + if not isinstance(v, ProfileStatusRule1): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileStatusRule1`") + else: + return v + + # validate data type: ProfileAttributeRuleString1 + if not isinstance(v, ProfileAttributeRuleString1): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleString1`") + else: + return v + + # validate data type: ProfileAttributeRuleDate1 + if not isinstance(v, ProfileAttributeRuleDate1): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleDate1`") + else: + return v + + # validate data type: ProfileAttributeRuleId1 + if not isinstance(v, ProfileAttributeRuleId1): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleId1`") + else: + return v + + # validate data type: RiskRule1 + if not isinstance(v, RiskRule1): + error_messages.append(f"Error! Input type `{type(v)}` is not `RiskRule1`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in AdvancedSearch1ConditionRulesAttributesInner with anyOf schemas: ProfileAttributeRuleDate1, ProfileAttributeRuleId1, ProfileAttributeRuleString1, ProfileStatusRule1, ProfileTypeRule1, RiskRule1. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # anyof_schema_1_validator: Optional[ProfileTypeRule1] = None + try: + instance.actual_instance = ProfileTypeRule1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[ProfileStatusRule1] = None + try: + instance.actual_instance = ProfileStatusRule1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_3_validator: Optional[ProfileAttributeRuleString1] = None + try: + instance.actual_instance = ProfileAttributeRuleString1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_4_validator: Optional[ProfileAttributeRuleDate1] = None + try: + instance.actual_instance = ProfileAttributeRuleDate1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_5_validator: Optional[ProfileAttributeRuleId1] = None + try: + instance.actual_instance = ProfileAttributeRuleId1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_6_validator: Optional[RiskRule1] = None + try: + instance.actual_instance = RiskRule1.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into AdvancedSearch1ConditionRulesAttributesInner with anyOf schemas: ProfileAttributeRuleDate1, ProfileAttributeRuleId1, ProfileAttributeRuleString1, ProfileStatusRule1, ProfileTypeRule1, RiskRule1. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], ProfileAttributeRuleDate1, ProfileAttributeRuleId1, ProfileAttributeRuleString1, ProfileStatusRule1, ProfileTypeRule1, RiskRule1]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/advanced_search_condition_rules_attributes_inner.py b/sailpoint/nerm/models/advanced_search_condition_rules_attributes_inner.py new file mode 100644 index 000000000..46292a618 --- /dev/null +++ b/sailpoint/nerm/models/advanced_search_condition_rules_attributes_inner.py @@ -0,0 +1,194 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from sailpoint.nerm.models.profile_attribute_rule_date import ProfileAttributeRuleDate +from sailpoint.nerm.models.profile_attribute_rule_id import ProfileAttributeRuleId +from sailpoint.nerm.models.profile_attribute_rule_string import ProfileAttributeRuleString +from sailpoint.nerm.models.profile_status_rule import ProfileStatusRule +from sailpoint.nerm.models.profile_type_rule import ProfileTypeRule +from sailpoint.nerm.models.risk_rule import RiskRule +from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +ADVANCEDSEARCHCONDITIONRULESATTRIBUTESINNER_ANY_OF_SCHEMAS = ["ProfileAttributeRuleDate", "ProfileAttributeRuleId", "ProfileAttributeRuleString", "ProfileStatusRule", "ProfileTypeRule", "RiskRule"] + +class AdvancedSearchConditionRulesAttributesInner(BaseModel): + """ + AdvancedSearchConditionRulesAttributesInner + """ + + # data type: ProfileTypeRule + anyof_schema_1_validator: Optional[ProfileTypeRule] = None + # data type: ProfileStatusRule + anyof_schema_2_validator: Optional[ProfileStatusRule] = None + # data type: ProfileAttributeRuleString + anyof_schema_3_validator: Optional[ProfileAttributeRuleString] = None + # data type: ProfileAttributeRuleDate + anyof_schema_4_validator: Optional[ProfileAttributeRuleDate] = None + # data type: ProfileAttributeRuleId + anyof_schema_5_validator: Optional[ProfileAttributeRuleId] = None + # data type: RiskRule + anyof_schema_6_validator: Optional[RiskRule] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[ProfileAttributeRuleDate, ProfileAttributeRuleId, ProfileAttributeRuleString, ProfileStatusRule, ProfileTypeRule, RiskRule]] = None + else: + actual_instance: Any = None + any_of_schemas: Set[str] = { "ProfileAttributeRuleDate", "ProfileAttributeRuleId", "ProfileAttributeRuleString", "ProfileStatusRule", "ProfileTypeRule", "RiskRule" } + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = AdvancedSearchConditionRulesAttributesInner.model_construct() + error_messages = [] + # validate data type: ProfileTypeRule + if not isinstance(v, ProfileTypeRule): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileTypeRule`") + else: + return v + + # validate data type: ProfileStatusRule + if not isinstance(v, ProfileStatusRule): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileStatusRule`") + else: + return v + + # validate data type: ProfileAttributeRuleString + if not isinstance(v, ProfileAttributeRuleString): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleString`") + else: + return v + + # validate data type: ProfileAttributeRuleDate + if not isinstance(v, ProfileAttributeRuleDate): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleDate`") + else: + return v + + # validate data type: ProfileAttributeRuleId + if not isinstance(v, ProfileAttributeRuleId): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProfileAttributeRuleId`") + else: + return v + + # validate data type: RiskRule + if not isinstance(v, RiskRule): + error_messages.append(f"Error! Input type `{type(v)}` is not `RiskRule`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in AdvancedSearchConditionRulesAttributesInner with anyOf schemas: ProfileAttributeRuleDate, ProfileAttributeRuleId, ProfileAttributeRuleString, ProfileStatusRule, ProfileTypeRule, RiskRule. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # anyof_schema_1_validator: Optional[ProfileTypeRule] = None + try: + instance.actual_instance = ProfileTypeRule.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[ProfileStatusRule] = None + try: + instance.actual_instance = ProfileStatusRule.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_3_validator: Optional[ProfileAttributeRuleString] = None + try: + instance.actual_instance = ProfileAttributeRuleString.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_4_validator: Optional[ProfileAttributeRuleDate] = None + try: + instance.actual_instance = ProfileAttributeRuleDate.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_5_validator: Optional[ProfileAttributeRuleId] = None + try: + instance.actual_instance = ProfileAttributeRuleId.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_6_validator: Optional[RiskRule] = None + try: + instance.actual_instance = RiskRule.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into AdvancedSearchConditionRulesAttributesInner with anyOf schemas: ProfileAttributeRuleDate, ProfileAttributeRuleId, ProfileAttributeRuleString, ProfileStatusRule, ProfileTypeRule, RiskRule. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], ProfileAttributeRuleDate, ProfileAttributeRuleId, ProfileAttributeRuleString, ProfileStatusRule, ProfileTypeRule, RiskRule]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/approval_action.py b/sailpoint/nerm/models/approval_action.py new file mode 100644 index 000000000..e73d6380d --- /dev/null +++ b/sailpoint/nerm/models/approval_action.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ApprovalAction(BaseModel): + """ + ApprovalAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: Optional[StrictStr] = Field(default=None, description="The description of the workflow action.") + page_id: StrictStr = Field(description="The page the workflow action should render.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + skippable: Optional[StrictBool] = Field(default=False, description="If the workflow action is skippable or not.") + requires_comment: Optional[StrictBool] = Field(default=False, description="If the workflow action requires a comment or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "page_id", "archived", "skippable", "requires_comment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ApprovalAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApprovalAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "page_id": obj.get("page_id"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "skippable": obj.get("skippable") if obj.get("skippable") is not None else False, + "requires_comment": obj.get("requires_comment") if obj.get("requires_comment") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/ask_security_question_action.py b/sailpoint/nerm/models/ask_security_question_action.py new file mode 100644 index 000000000..8475924fd --- /dev/null +++ b/sailpoint/nerm/models/ask_security_question_action.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AskSecurityQuestionAction(BaseModel): + """ + AskSecurityQuestionAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + number_of_questions: StrictInt = Field(description="The number of questions the user should answer upon login.") + token_expiration: StrictInt = Field(description="The token expiration time, coordinates with token_expiration_type.") + token_expiration_type: StrictStr = Field(description="The token expiration type, coordinates with token_expiration.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "number_of_questions", "token_expiration", "token_expiration_type", "archived"] + + @field_validator('token_expiration_type') + def token_expiration_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['hours', 'days', 'login attempts', 'always']): + warnings.warn(f"must be one of enum values ('hours', 'days', 'login attempts', 'always') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AskSecurityQuestionAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AskSecurityQuestionAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "number_of_questions": obj.get("number_of_questions"), + "token_expiration": obj.get("token_expiration"), + "token_expiration_type": obj.get("token_expiration_type"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute.py b/sailpoint/nerm/models/attribute.py new file mode 100644 index 000000000..a14ed9af4 --- /dev/null +++ b/sailpoint/nerm/models/attribute.py @@ -0,0 +1,169 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_properties import AttributeProperties +from typing import Optional, Set +from typing_extensions import Self + +class Attribute(BaseModel): + """ + Attribute + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the attribute") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the attribute") + label: Optional[StrictStr] = Field(default=None, description="The label for the attribute") + description: Optional[StrictStr] = Field(default=None, description="A description of the attribute") + tool_tip: Optional[StrictStr] = Field(default=None, description="The helper text that accompanies the attribute") + crypt: Optional[StrictBool] = Field(default=None, description="Whether the attribute is encrypted") + archived: Optional[StrictBool] = Field(default=None, description="Whether the attribute is archived") + archived_on: Optional[datetime] = Field(default=None, description="When the attribute was archived") + created_at: Optional[datetime] = Field(default=None, description="When the attribute was created") + updated_at: Optional[datetime] = Field(default=None, description="When the attribute was updated") + date_format: Optional[StrictStr] = Field(default=None, description="The format of the date input if it is a date input") + selectable_status: Optional[StrictStr] = Field(default=None, description="The status of the profiles that can be selected") + risk_type: Optional[StrictStr] = Field(default=None, description="Type of risk that applies to the attribute") + ownership_driven: Optional[StrictBool] = Field(default=None, description="Only shows profiles that the user currently has access to, to be selected") + allow_multiple_selections: Optional[StrictBool] = Field(default=None, description="Whether or not multiple selections can be made on something like a contributor search.") + filtered_by_ne_attribute: Optional[StrictBool] = Field(default=None, description="Whether or not the attribute is filtered by another attribute") + filtering_ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the filtering attribute") + ne_attribute_filter_id: Optional[StrictStr] = Field(default=None, description="The ID of the attribute filter") + reverse_association_attribute: Optional[AttributeProperties] = None + profile_type_id: Optional[StrictStr] = Field(default=None, description="The ID of the profile type the attribute applies to") + data_type: Optional[StrictStr] = Field(default=None, description="The type of data that applies to the attribute") + type: Optional[StrictStr] = Field(default=None, description="The attribute's type") + __properties: ClassVar[List[str]] = ["id", "uid", "label", "description", "tool_tip", "crypt", "archived", "archived_on", "created_at", "updated_at", "date_format", "selectable_status", "risk_type", "ownership_driven", "allow_multiple_selections", "filtered_by_ne_attribute", "filtering_ne_attribute_id", "ne_attribute_filter_id", "reverse_association_attribute", "profile_type_id", "data_type", "type"] + + @field_validator('date_format') + def date_format_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd']): + warnings.warn(f"must be one of enum values ('mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd') unknown value: {value}") + return value + + @field_validator('data_type') + def data_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search']): + warnings.warn(f"must be one of enum values ('text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search') unknown value: {value}") + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute']): + warnings.warn(f"must be one of enum values ('AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Attribute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of reverse_association_attribute + if self.reverse_association_attribute: + _dict['reverse_association_attribute'] = self.reverse_association_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Attribute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "description": obj.get("description"), + "tool_tip": obj.get("tool_tip"), + "crypt": obj.get("crypt"), + "archived": obj.get("archived"), + "archived_on": obj.get("archived_on"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "date_format": obj.get("date_format"), + "selectable_status": obj.get("selectable_status"), + "risk_type": obj.get("risk_type"), + "ownership_driven": obj.get("ownership_driven"), + "allow_multiple_selections": obj.get("allow_multiple_selections"), + "filtered_by_ne_attribute": obj.get("filtered_by_ne_attribute"), + "filtering_ne_attribute_id": obj.get("filtering_ne_attribute_id"), + "ne_attribute_filter_id": obj.get("ne_attribute_filter_id"), + "reverse_association_attribute": AttributeProperties.from_dict(obj["reverse_association_attribute"]) if obj.get("reverse_association_attribute") is not None else None, + "profile_type_id": obj.get("profile_type_id"), + "data_type": obj.get("data_type"), + "type": obj.get("type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute1.py b/sailpoint/nerm/models/attribute1.py new file mode 100644 index 000000000..936219c08 --- /dev/null +++ b/sailpoint/nerm/models/attribute1.py @@ -0,0 +1,166 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute1_validations_attributes import Attribute1ValidationsAttributes +from sailpoint.nerm.models.attribute_properties import AttributeProperties +from typing import Optional, Set +from typing_extensions import Self + +class Attribute1(BaseModel): + """ + Attribute1 + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the attribute") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the attribute") + label: Optional[StrictStr] = Field(default=None, description="The label for the attribute") + description: Optional[StrictStr] = Field(default=None, description="A description of the attribute") + tool_tip: Optional[StrictStr] = Field(default=None, description="The helper text that accompanies the attribute") + archived: Optional[StrictBool] = Field(default=None, description="Whether the attribute is archived") + date_format: Optional[StrictStr] = Field(default=None, description="The format of the date input if it is a date input") + selectable_status: Optional[StrictStr] = Field(default=None, description="The status of the profiles that can be selected") + risk_type: Optional[StrictStr] = Field(default=None, description="Type of risk that applies to the attribute") + ownership_driven: Optional[StrictBool] = Field(default=None, description="Only shows profiles that the user currently has access to, to be selected") + allow_multiple_selections: Optional[StrictBool] = Field(default=None, description="Whether or not multiple selections can be made on something like a contributor search.") + filtered_by_ne_attribute: Optional[StrictBool] = Field(default=None, description="Whether or not the attribute is filtered by another attribute") + filtering_ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the filtering attribute") + ne_attribute_filter_id: Optional[StrictStr] = Field(default=None, description="The ID of the attribute filter") + reverse_association_attribute: Optional[AttributeProperties] = None + profile_type_id: Optional[StrictStr] = Field(default=None, description="The ID of the profile type the attribute applies to") + data_type: Optional[StrictStr] = Field(default=None, description="The type of data that applies to the attribute") + type: Optional[StrictStr] = Field(default=None, description="The attribute's type") + validations_attributes: Optional[Attribute1ValidationsAttributes] = None + __properties: ClassVar[List[str]] = ["id", "uid", "label", "description", "tool_tip", "archived", "date_format", "selectable_status", "risk_type", "ownership_driven", "allow_multiple_selections", "filtered_by_ne_attribute", "filtering_ne_attribute_id", "ne_attribute_filter_id", "reverse_association_attribute", "profile_type_id", "data_type", "type", "validations_attributes"] + + @field_validator('date_format') + def date_format_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd']): + warnings.warn(f"must be one of enum values ('mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd') unknown value: {value}") + return value + + @field_validator('data_type') + def data_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search']): + warnings.warn(f"must be one of enum values ('text field', 'text area', 'drop-down', 'radio buttons', 'check boxes', 'date', 'tags', 'attachment', 'profile select', 'profile search', 'owner select', 'owner search', 'contributor select', 'contributor search') unknown value: {value}") + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute']): + warnings.warn(f"must be one of enum values ('AttachmentAttribute', 'CheckBoxesAttribute', 'ContributorSearchAttribute', 'ContributorSelectAttribute', 'DateAttribute', 'DropDownAttribute', 'OwnerSearchAttribute', 'OwnerSelectAttribute', 'ProfileSearchAttribute', 'ProfileSelectAttribute', 'RadioButtonsAttribute', 'TagsAttribute', 'TextAreaAttribute', 'TextFieldAttribute') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Attribute1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of reverse_association_attribute + if self.reverse_association_attribute: + _dict['reverse_association_attribute'] = self.reverse_association_attribute.to_dict() + # override the default output from pydantic by calling `to_dict()` of validations_attributes + if self.validations_attributes: + _dict['validations_attributes'] = self.validations_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Attribute1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "description": obj.get("description"), + "tool_tip": obj.get("tool_tip"), + "archived": obj.get("archived"), + "date_format": obj.get("date_format"), + "selectable_status": obj.get("selectable_status"), + "risk_type": obj.get("risk_type"), + "ownership_driven": obj.get("ownership_driven"), + "allow_multiple_selections": obj.get("allow_multiple_selections"), + "filtered_by_ne_attribute": obj.get("filtered_by_ne_attribute"), + "filtering_ne_attribute_id": obj.get("filtering_ne_attribute_id"), + "ne_attribute_filter_id": obj.get("ne_attribute_filter_id"), + "reverse_association_attribute": AttributeProperties.from_dict(obj["reverse_association_attribute"]) if obj.get("reverse_association_attribute") is not None else None, + "profile_type_id": obj.get("profile_type_id"), + "data_type": obj.get("data_type"), + "type": obj.get("type"), + "validations_attributes": Attribute1ValidationsAttributes.from_dict(obj["validations_attributes"]) if obj.get("validations_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute1_validations_attributes.py b/sailpoint/nerm/models/attribute1_validations_attributes.py new file mode 100644 index 000000000..ea9cf7e65 --- /dev/null +++ b/sailpoint/nerm/models/attribute1_validations_attributes.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Attribute1ValidationsAttributes(BaseModel): + """ + Attribute1ValidationsAttributes + """ # noqa: E501 + validation_method: Optional[StrictStr] = Field(default=None, description="The type of validation to be applied") + value: Optional[StrictStr] = Field(default=None, description="The value of the validator") + destroy: Optional[StrictBool] = Field(default=None, description="If the validator should be removed", alias="_destroy") + __properties: ClassVar[List[str]] = ["validation_method", "value", "_destroy"] + + @field_validator('validation_method') + def validation_method_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['required', 'unique', 'date_format', 'days', 'characters', 'extension', 'numericality', 'email_format', 'custom_format', 'no_special_chars']): + warnings.warn(f"must be one of enum values ('required', 'unique', 'date_format', 'days', 'characters', 'extension', 'numericality', 'email_format', 'custom_format', 'no_special_chars') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Attribute1ValidationsAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Attribute1ValidationsAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "validation_method": obj.get("validation_method"), + "value": obj.get("value"), + "_destroy": obj.get("_destroy") + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute_option.py b/sailpoint/nerm/models/attribute_option.py new file mode 100644 index 000000000..dfe499d0a --- /dev/null +++ b/sailpoint/nerm/models/attribute_option.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AttributeOption(BaseModel): + """ + AttributeOption + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + ne_attribute_id: Optional[StrictStr] = None + option: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "ne_attribute_id", "option"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AttributeOption from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AttributeOption from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "option": obj.get("option") + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute_option1.py b/sailpoint/nerm/models/attribute_option1.py new file mode 100644 index 000000000..20c7b888b --- /dev/null +++ b/sailpoint/nerm/models/attribute_option1.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AttributeOption1(BaseModel): + """ + AttributeOption1 + """ # noqa: E501 + ne_attribute_id: Optional[StrictStr] = None + option: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["ne_attribute_id", "option"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AttributeOption1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AttributeOption1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_id": obj.get("ne_attribute_id"), + "option": obj.get("option") + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute_options.py b/sailpoint/nerm/models/attribute_options.py new file mode 100644 index 000000000..b7353c381 --- /dev/null +++ b/sailpoint/nerm/models/attribute_options.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_option import AttributeOption +from typing import Optional, Set +from typing_extensions import Self + +class AttributeOptions(BaseModel): + """ + AttributeOptions + """ # noqa: E501 + ne_attribute_options: Optional[List[AttributeOption]] = None + __properties: ClassVar[List[str]] = ["ne_attribute_options"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AttributeOptions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ne_attribute_options (list) + _items = [] + if self.ne_attribute_options: + for _item_ne_attribute_options in self.ne_attribute_options: + if _item_ne_attribute_options: + _items.append(_item_ne_attribute_options.to_dict()) + _dict['ne_attribute_options'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AttributeOptions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_options": [AttributeOption.from_dict(_item) for _item in obj["ne_attribute_options"]] if obj.get("ne_attribute_options") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/attribute_properties.py b/sailpoint/nerm/models/attribute_properties.py new file mode 100644 index 000000000..1f010be24 --- /dev/null +++ b/sailpoint/nerm/models/attribute_properties.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AttributeProperties(BaseModel): + """ + AttributeProperties + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the attribute") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the attribute") + label: Optional[StrictStr] = Field(default=None, description="The label for the attribute") + description: Optional[StrictStr] = Field(default=None, description="A description of the attribute") + tool_tip: Optional[StrictStr] = Field(default=None, description="The helper text that accompanies the attribute") + crypt: Optional[StrictBool] = Field(default=None, description="Whether or not the attribute is encrypted") + archived: Optional[StrictBool] = Field(default=None, description="Whether the attribute is archived") + archived_on: Optional[datetime] = Field(default=None, description="When the attribute was archived") + created_at: Optional[datetime] = Field(default=None, description="When the attribute was created") + updated_at: Optional[datetime] = Field(default=None, description="When the attribute was last updated") + date_format: Optional[StrictStr] = Field(default=None, description="The format of the date input if it is a date input") + selectable_status: Optional[StrictStr] = Field(default=None, description="The status of the profiles that can be selected") + risk_score_setting: Optional[StrictStr] = Field(default=None, description="What setting is used for the risk score") + risk_type: Optional[StrictStr] = Field(default=None, description="Type of risk that applies to the attribute") + ownership_driven: Optional[StrictBool] = Field(default=None, description="Only shows profiles that the user currently has access to, to be selected") + allow_multiple_selections: Optional[StrictBool] = Field(default=None, description="Whether or not multiple selections can be made on something like a contributor search.") + filtered_by_ne_attribute: Optional[StrictBool] = Field(default=None, description="Whether or not the attribute is filtered by another attribute") + filtering_ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the filtering attribute") + ne_attribute_filter_id: Optional[StrictStr] = Field(default=None, description="The ID of the attribute filter") + reverse_association_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the attribute used with reverse association") + profile_type_id: Optional[StrictStr] = Field(default=None, description="The ID of the profile type the attribute applies to") + legacy_id: Optional[StrictStr] = Field(default=None, description="The legacy ID") + tmp_created_at: Optional[datetime] = Field(default=None, description="the temp of when attribute was created") + tmp_updated_at: Optional[datetime] = Field(default=None, description="the temp of when attribute was last updated") + __properties: ClassVar[List[str]] = ["id", "uid", "label", "description", "tool_tip", "crypt", "archived", "archived_on", "created_at", "updated_at", "date_format", "selectable_status", "risk_score_setting", "risk_type", "ownership_driven", "allow_multiple_selections", "filtered_by_ne_attribute", "filtering_ne_attribute_id", "ne_attribute_filter_id", "reverse_association_attribute_id", "profile_type_id", "legacy_id", "tmp_created_at", "tmp_updated_at"] + + @field_validator('date_format') + def date_format_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd']): + warnings.warn(f"must be one of enum values ('mm/dd/yyyy', 'mm-dd-yyyy', 'dd/mm/yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy-mm-dd') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AttributeProperties from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + "archived_on", + "created_at", + "updated_at", + "tmp_created_at", + "tmp_updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AttributeProperties from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "description": obj.get("description"), + "tool_tip": obj.get("tool_tip"), + "crypt": obj.get("crypt"), + "archived": obj.get("archived"), + "archived_on": obj.get("archived_on"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "date_format": obj.get("date_format"), + "selectable_status": obj.get("selectable_status"), + "risk_score_setting": obj.get("risk_score_setting"), + "risk_type": obj.get("risk_type"), + "ownership_driven": obj.get("ownership_driven"), + "allow_multiple_selections": obj.get("allow_multiple_selections"), + "filtered_by_ne_attribute": obj.get("filtered_by_ne_attribute"), + "filtering_ne_attribute_id": obj.get("filtering_ne_attribute_id"), + "ne_attribute_filter_id": obj.get("ne_attribute_filter_id"), + "reverse_association_attribute_id": obj.get("reverse_association_attribute_id"), + "profile_type_id": obj.get("profile_type_id"), + "legacy_id": obj.get("legacy_id"), + "tmp_created_at": obj.get("tmp_created_at"), + "tmp_updated_at": obj.get("tmp_updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/audit_event.py b/sailpoint/nerm/models/audit_event.py new file mode 100644 index 000000000..3574ce58e --- /dev/null +++ b/sailpoint/nerm/models/audit_event.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.audit_event_created_at import AuditEventCreatedAt +from sailpoint.nerm.models.audit_event_data import AuditEventData +from typing import Optional, Set +from typing_extensions import Self + +class AuditEvent(BaseModel): + """ + AuditEvent + """ # noqa: E501 + created_at: Optional[AuditEventCreatedAt] = None + subject_type: Optional[StrictStr] = Field(default=None, description="Categorization of audit event.") + type: Optional[StrictStr] = Field(default=None, description="The type of audit event") + subject_id: Optional[StrictStr] = Field(default=None, description="Identifier of the subject") + data: Optional[AuditEventData] = None + __properties: ClassVar[List[str]] = ["created_at", "subject_type", "type", "subject_id", "data"] + + @field_validator('subject_type') + def subject_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Profile', 'WorkflowSession', 'Email', 'FormAttributeForm', 'FormAttribute', 'Form', 'IdentityProofingResult', 'IdproxyPermission', 'NeAttributeOption', 'NeAttribute', 'Notification', 'WorkflowPage', 'ProfilePage', 'Permission', 'PortalRegistrationWorkflow', 'Portal', 'ProfileTypeRole', 'ProfileType', 'RoleProfile', 'NeprofileRole', 'NeaccessRole', 'IdproxyRole', 'SecurityQuestion', 'UserManager', 'UserProfile', 'UserRole', 'User', 'Validation', 'VerificationEmail', 'WorkflowAction', 'CreateWorkflow', 'UpdateWorkflow', 'AutomatedWorkflow', 'BatchWorkflow', 'ExpirationWorkflow', 'InvitationWorkflow', 'LoginWorkflow', 'PasswordResetWorkflow', 'RegistrationWorkflow', 'Get', 'Post', 'Patch', 'Delete', 'ApprovalAction', 'AutomatedUser', 'DelegateUser', 'NeaccessUser', 'NeprofileUser', 'Page', 'Role', 'SamlConfiguration', 'SchemaMapping', 'SchemaMappingField', 'Workflow']): + warnings.warn(f"must be one of enum values ('Profile', 'WorkflowSession', 'Email', 'FormAttributeForm', 'FormAttribute', 'Form', 'IdentityProofingResult', 'IdproxyPermission', 'NeAttributeOption', 'NeAttribute', 'Notification', 'WorkflowPage', 'ProfilePage', 'Permission', 'PortalRegistrationWorkflow', 'Portal', 'ProfileTypeRole', 'ProfileType', 'RoleProfile', 'NeprofileRole', 'NeaccessRole', 'IdproxyRole', 'SecurityQuestion', 'UserManager', 'UserProfile', 'UserRole', 'User', 'Validation', 'VerificationEmail', 'WorkflowAction', 'CreateWorkflow', 'UpdateWorkflow', 'AutomatedWorkflow', 'BatchWorkflow', 'ExpirationWorkflow', 'InvitationWorkflow', 'LoginWorkflow', 'PasswordResetWorkflow', 'RegistrationWorkflow', 'Get', 'Post', 'Patch', 'Delete', 'ApprovalAction', 'AutomatedUser', 'DelegateUser', 'NeaccessUser', 'NeprofileUser', 'Page', 'Role', 'SamlConfiguration', 'SchemaMapping', 'SchemaMappingField', 'Workflow') unknown value: {value}") + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['AuditableProfileCreate', 'AuditableProfileUpdate', 'AuditableProfileDestroy', 'AuditableBulkProfileUpdate', 'AuditableProfileContributorAdd', 'AuditableProfileContributorRemove', 'AuditableProfileContributorRoleAdd', 'AuditableProfileContributorRoleRemove', 'AuditableProfileOwnerUpdate', 'AuditableProfileWorkflowEvent', 'AuditableWorkflowActionSkippedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowAssignedEvent', 'AuditableWorkflowAutoAssignedEvent', 'AuditableWorkflowBatchCompleteEvent', 'AuditableWorkflowClosedEvent', 'AuditableWorkflowDuplicateCheckStartEvent', 'AuditableWorkflowDuplicateResolutionEvent', 'AuditableWorkflowFailedEvent', 'AuditableWorkflowIdentityProofedEvent', 'AuditableWorkflowInvitationSentEvent', 'AuditableWorkflowLdapProvidedEvent', 'AuditableWorkflowNotificationSentEvent', 'AuditableWorkflowPendingApprovalEvent', 'AuditableWorkflowPendingAssignmentEvent', 'AuditableWorkflowPendingFulfillmentEvent', 'AuditableWorkflowFulfilledEvent', 'AuditableWorkflowPendingIdentityProofEvent', 'AuditableWorkflowPendingLdapEvent', 'AuditableWorkflowPendingRequestEvent', 'AuditableWorkflowPendingReviewEvent', 'AuditableWorkflowProfileCreatedEvent', 'AuditableWorkflowProfileSelectEvent', 'AuditableWorkflowProfileUpdatedEvent', 'AuditableWorkflowRejectedEvent', 'AuditableWorkflowRequestMadeEvent', 'AuditableWorkflowRestApiEvent', 'AuditableWorkflowReviewedEvent', 'AuditableWorkflowRunningWorkflowEvent', 'AuditableWorkflowSoapApiEvent', 'AuditableWorkflowStatusChangedEvent', 'AuditableWorkflowStoredProcedureEvent', 'AuditableWorkflowUnassignEvent', 'AuditableWorkflowWaitingForWorkflowEvent', 'AuditableWorkflowWorkflowChangedEvent', 'ActiveRecordCreate', 'ActiveRecordUpdate', 'ActiveRecordDestroy', 'AuditableApiEvent']): + warnings.warn(f"must be one of enum values ('AuditableProfileCreate', 'AuditableProfileUpdate', 'AuditableProfileDestroy', 'AuditableBulkProfileUpdate', 'AuditableProfileContributorAdd', 'AuditableProfileContributorRemove', 'AuditableProfileContributorRoleAdd', 'AuditableProfileContributorRoleRemove', 'AuditableProfileOwnerUpdate', 'AuditableProfileWorkflowEvent', 'AuditableWorkflowActionSkippedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowApprovedEvent', 'AuditableWorkflowAssignedEvent', 'AuditableWorkflowAutoAssignedEvent', 'AuditableWorkflowBatchCompleteEvent', 'AuditableWorkflowClosedEvent', 'AuditableWorkflowDuplicateCheckStartEvent', 'AuditableWorkflowDuplicateResolutionEvent', 'AuditableWorkflowFailedEvent', 'AuditableWorkflowIdentityProofedEvent', 'AuditableWorkflowInvitationSentEvent', 'AuditableWorkflowLdapProvidedEvent', 'AuditableWorkflowNotificationSentEvent', 'AuditableWorkflowPendingApprovalEvent', 'AuditableWorkflowPendingAssignmentEvent', 'AuditableWorkflowPendingFulfillmentEvent', 'AuditableWorkflowFulfilledEvent', 'AuditableWorkflowPendingIdentityProofEvent', 'AuditableWorkflowPendingLdapEvent', 'AuditableWorkflowPendingRequestEvent', 'AuditableWorkflowPendingReviewEvent', 'AuditableWorkflowProfileCreatedEvent', 'AuditableWorkflowProfileSelectEvent', 'AuditableWorkflowProfileUpdatedEvent', 'AuditableWorkflowRejectedEvent', 'AuditableWorkflowRequestMadeEvent', 'AuditableWorkflowRestApiEvent', 'AuditableWorkflowReviewedEvent', 'AuditableWorkflowRunningWorkflowEvent', 'AuditableWorkflowSoapApiEvent', 'AuditableWorkflowStatusChangedEvent', 'AuditableWorkflowStoredProcedureEvent', 'AuditableWorkflowUnassignEvent', 'AuditableWorkflowWaitingForWorkflowEvent', 'AuditableWorkflowWorkflowChangedEvent', 'ActiveRecordCreate', 'ActiveRecordUpdate', 'ActiveRecordDestroy', 'AuditableApiEvent') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AuditEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of created_at + if self.created_at: + _dict['created_at'] = self.created_at.to_dict() + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AuditEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "created_at": AuditEventCreatedAt.from_dict(obj["created_at"]) if obj.get("created_at") is not None else None, + "subject_type": obj.get("subject_type"), + "type": obj.get("type"), + "subject_id": obj.get("subject_id"), + "data": AuditEventData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/audit_event_created_at.py b/sailpoint/nerm/models/audit_event_created_at.py new file mode 100644 index 000000000..7911ec2c8 --- /dev/null +++ b/sailpoint/nerm/models/audit_event_created_at.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AuditEventCreatedAt(BaseModel): + """ + Search for record based on the created_at date + """ # noqa: E501 + gt: Optional[date] = Field(default=None, description="Greater Than - search for events with a date greater than the value") + lt: Optional[date] = Field(default=None, description="Less Than - search for events with a date less than the value") + eq: Optional[date] = Field(default=None, description="Equal - search for events with a date equal to the value") + __properties: ClassVar[List[str]] = ["gt", "lt", "eq"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AuditEventCreatedAt from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AuditEventCreatedAt from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "gt": obj.get("gt"), + "lt": obj.get("lt"), + "eq": obj.get("eq") + }) + return _obj + + diff --git a/sailpoint/nerm/models/audit_event_data.py b/sailpoint/nerm/models/audit_event_data.py new file mode 100644 index 000000000..b87504754 --- /dev/null +++ b/sailpoint/nerm/models/audit_event_data.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AuditEventData(BaseModel): + """ + AuditEventData + """ # noqa: E501 + profile_id: Optional[StrictStr] = Field(default=None, description="The profile id associated with the event") + workflow_id: Optional[StrictStr] = Field(default=None, description="The workflow id associated with the event") + workflow_name: Optional[StrictStr] = Field(default=None, description="The workflow name associated with the event") + workflow_uid: Optional[StrictStr] = Field(default=None, description="The workflow uid associated with the event") + profile_type_id: Optional[StrictStr] = Field(default=None, description="The profile type associated with the event") + __properties: ClassVar[List[str]] = ["profile_id", "workflow_id", "workflow_name", "workflow_uid", "profile_type_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AuditEventData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AuditEventData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_id": obj.get("profile_id"), + "workflow_id": obj.get("workflow_id"), + "workflow_name": obj.get("workflow_name"), + "workflow_uid": obj.get("workflow_uid"), + "profile_type_id": obj.get("profile_type_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/auto_assign_action.py b/sailpoint/nerm/models/auto_assign_action.py new file mode 100644 index 000000000..bbdc566e6 --- /dev/null +++ b/sailpoint/nerm/models/auto_assign_action.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AutoAssignAction(BaseModel): + """ + AutoAssignAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + contributor_attr: Optional[StrictStr] = Field(default=None, description="The id of the contributor attribute for contributors from another profile. If workflow_action_roles are not associated to this object, this is required.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "contributor_attr"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutoAssignAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutoAssignAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "contributor_attr": obj.get("contributor_attr") + }) + return _obj + + diff --git a/sailpoint/nerm/models/automated_workflow.py b/sailpoint/nerm/models/automated_workflow.py new file mode 100644 index 000000000..3b048fe65 --- /dev/null +++ b/sailpoint/nerm/models/automated_workflow.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.automated_workflow_condition_rules_attributes_inner import AutomatedWorkflowConditionRulesAttributesInner +from typing import Optional, Set +from typing_extensions import Self + +class AutomatedWorkflow(BaseModel): + """ + AutomatedWorkflow + """ # noqa: E501 + profile_type_id: StrictStr = Field(description="The profile type the workflow effects.") + status: StrictStr = Field(description="Whether or not the workflow is enabled or disabled.") + uid: StrictStr = Field(description="The user-specified identifier of the workflow.") + name: StrictStr = Field(description="Name of the workflow") + disable_failure_email_notifications: Optional[StrictBool] = Field(default=None, description="When honored at runtime, suppresses failure email notifications for this workflow's sessions.") + condition_rules_attributes: List[AutomatedWorkflowConditionRulesAttributesInner] = Field(description="The ProfileTypeRule this workflow will be working with.") + __properties: ClassVar[List[str]] = ["profile_type_id", "status", "uid", "name", "disable_failure_email_notifications", "condition_rules_attributes"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Enabled', 'Disabled']): + warnings.warn(f"must be one of enum values ('Enabled', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutomatedWorkflow from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in condition_rules_attributes (list) + _items = [] + if self.condition_rules_attributes: + for _item_condition_rules_attributes in self.condition_rules_attributes: + if _item_condition_rules_attributes: + _items.append(_item_condition_rules_attributes.to_dict()) + _dict['condition_rules_attributes'] = _items + # set to None if disable_failure_email_notifications (nullable) is None + # and model_fields_set contains the field + if self.disable_failure_email_notifications is None and "disable_failure_email_notifications" in self.model_fields_set: + _dict['disable_failure_email_notifications'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutomatedWorkflow from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "disable_failure_email_notifications": obj.get("disable_failure_email_notifications"), + "condition_rules_attributes": [AutomatedWorkflowConditionRulesAttributesInner.from_dict(_item) for _item in obj["condition_rules_attributes"]] if obj.get("condition_rules_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/automated_workflow_condition_rules_attributes_inner.py b/sailpoint/nerm/models/automated_workflow_condition_rules_attributes_inner.py new file mode 100644 index 000000000..30c1739bf --- /dev/null +++ b/sailpoint/nerm/models/automated_workflow_condition_rules_attributes_inner.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AutomatedWorkflowConditionRulesAttributesInner(BaseModel): + """ + AutomatedWorkflowConditionRulesAttributesInner + """ # noqa: E501 + logical_operator: StrictStr = Field(description="The type of condition rule.") + comparison_operator: StrictStr = Field(description="The operator used by the condition rule.") + condition_object_id: Optional[StrictStr] = Field(default=None, description="UUID for object targeted by the condition.") + condition_object_type: StrictStr = Field(description="Type of object targeted by the condition.") + secondary_value: Optional[StrictStr] = Field(default=None, description="Used for time_frame comparison.") + tertiary_value: Optional[StrictStr] = Field(default=None, description="Represents the days of a temporal comparison.") + value: Optional[StrictStr] = Field(default=None, description="The value being compared against.") + order: Optional[StrictInt] = Field(default=None, description="If there are multiple rules against one workflow, this is the order that they are ran in.") + type: StrictStr = Field(description="The type of condition rule.") + __properties: ClassVar[List[str]] = ["logical_operator", "comparison_operator", "condition_object_id", "condition_object_type", "secondary_value", "tertiary_value", "value", "order", "type"] + + @field_validator('logical_operator') + def logical_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['AND', 'OR']): + warnings.warn(f"must be one of enum values ('AND', 'OR') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['<', '>', '==', 'before', 'include?', 'absent?', 'after']): + warnings.warn(f"must be one of enum values ('<', '>', '==', 'before', 'include?', 'absent?', 'after') unknown value: {value}") + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RiskRule', 'ProfileIdRule', 'ProfileTypeRule', 'ProfileExistsRule', 'ProfileStatusRule', 'SessionAttributeRule', 'ProfileAttributeRule', 'ProfileDoesNotExistRule', 'IdentityProofingRule']): + warnings.warn(f"must be one of enum values ('RiskRule', 'ProfileIdRule', 'ProfileTypeRule', 'ProfileExistsRule', 'ProfileStatusRule', 'SessionAttributeRule', 'ProfileAttributeRule', 'ProfileDoesNotExistRule', 'IdentityProofingRule') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutomatedWorkflowConditionRulesAttributesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutomatedWorkflowConditionRulesAttributesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "logical_operator": obj.get("logical_operator"), + "comparison_operator": obj.get("comparison_operator"), + "condition_object_id": obj.get("condition_object_id"), + "condition_object_type": obj.get("condition_object_type"), + "secondary_value": obj.get("secondary_value"), + "tertiary_value": obj.get("tertiary_value"), + "value": obj.get("value"), + "order": obj.get("order"), + "type": obj.get("type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/batch_update_action.py b/sailpoint/nerm/models/batch_update_action.py new file mode 100644 index 000000000..c4b014f49 --- /dev/null +++ b/sailpoint/nerm/models/batch_update_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BatchUpdateAction(BaseModel): + """ + BatchUpdateAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BatchUpdateAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BatchUpdateAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/batch_workflow.py b/sailpoint/nerm/models/batch_workflow.py new file mode 100644 index 000000000..6861f1d2a --- /dev/null +++ b/sailpoint/nerm/models/batch_workflow.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.batch_workflow_options import BatchWorkflowOptions +from typing import Optional, Set +from typing_extensions import Self + +class BatchWorkflow(BaseModel): + """ + BatchWorkflow + """ # noqa: E501 + profile_type_id: StrictStr = Field(description="The profile type the workflow effects.") + status: StrictStr = Field(description="Whether or not the workflow is enabled or disabled.") + uid: StrictStr = Field(description="The user-specified identifier of the workflow.") + name: StrictStr = Field(description="Name of the workflow") + options: Optional[BatchWorkflowOptions] = None + disable_failure_email_notifications: Optional[StrictBool] = Field(default=None, description="When honored at runtime, suppresses failure email notifications for this workflow's sessions.") + __properties: ClassVar[List[str]] = ["profile_type_id", "status", "uid", "name", "options", "disable_failure_email_notifications"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Enabled', 'Disabled']): + warnings.warn(f"must be one of enum values ('Enabled', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BatchWorkflow from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of options + if self.options: + _dict['options'] = self.options.to_dict() + # set to None if disable_failure_email_notifications (nullable) is None + # and model_fields_set contains the field + if self.disable_failure_email_notifications is None and "disable_failure_email_notifications" in self.model_fields_set: + _dict['disable_failure_email_notifications'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BatchWorkflow from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "options": BatchWorkflowOptions.from_dict(obj["options"]) if obj.get("options") is not None else None, + "disable_failure_email_notifications": obj.get("disable_failure_email_notifications") + }) + return _obj + + diff --git a/sailpoint/nerm/models/batch_workflow_options.py b/sailpoint/nerm/models/batch_workflow_options.py new file mode 100644 index 000000000..2d63c94ca --- /dev/null +++ b/sailpoint/nerm/models/batch_workflow_options.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class BatchWorkflowOptions(BaseModel): + """ + BatchWorkflowOptions + """ # noqa: E501 + all_profiles: Optional[StrictStr] = Field(default=None, description="Used for batch workflows.") + multiple_requests: Optional[StrictStr] = Field(default=None, description="Used for batch workflows for if multiple requests.") + __properties: ClassVar[List[str]] = ["all_profiles", "multiple_requests"] + + @field_validator('all_profiles') + def all_profiles_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['true', 'false']): + warnings.warn(f"must be one of enum values ('true', 'false') unknown value: {value}") + return value + + @field_validator('multiple_requests') + def multiple_requests_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['true', 'false']): + warnings.warn(f"must be one of enum values ('true', 'false') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BatchWorkflowOptions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BatchWorkflowOptions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "all_profiles": obj.get("all_profiles"), + "multiple_requests": obj.get("multiple_requests") + }) + return _obj + + diff --git a/sailpoint/nerm/models/close_session_action.py b/sailpoint/nerm/models/close_session_action.py new file mode 100644 index 000000000..9db272563 --- /dev/null +++ b/sailpoint/nerm/models/close_session_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CloseSessionAction(BaseModel): + """ + CloseSessionAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CloseSessionAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloseSessionAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/contributors_action.py b/sailpoint/nerm/models/contributors_action.py new file mode 100644 index 000000000..be3c80367 --- /dev/null +++ b/sailpoint/nerm/models/contributors_action.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ContributorsAction(BaseModel): + """ + ContributorsAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + owner: Optional[StrictStr] = Field(default=None, description="If the assignment option should be an owner. Owner, Contributors, or Roles must be chosen.") + contributors: Optional[StrictStr] = Field(default=None, description="If the assignment option should be contributors. Owner, Contributors, or Roles must be chosen.") + roles: Optional[StrictStr] = Field(default=None, description="If the assignment option should be roles. Owner, Contributors, or Roles must be chosen.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "owner", "contributors", "roles", "archived"] + + @field_validator('owner') + def owner_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['true', 'false']): + warnings.warn(f"must be one of enum values ('true', 'false') unknown value: {value}") + return value + + @field_validator('contributors') + def contributors_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['true', 'false']): + warnings.warn(f"must be one of enum values ('true', 'false') unknown value: {value}") + return value + + @field_validator('roles') + def roles_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['true', 'false']): + warnings.warn(f"must be one of enum values ('true', 'false') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ContributorsAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ContributorsAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "owner": obj.get("owner"), + "contributors": obj.get("contributors"), + "roles": obj.get("roles"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_approval_action200_response.py b/sailpoint/nerm/models/create_approval_action200_response.py new file mode 100644 index 000000000..dd919c9b8 --- /dev/null +++ b/sailpoint/nerm/models/create_approval_action200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateApprovalAction200Response(BaseModel): + """ + CreateApprovalAction200Response + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateApprovalAction200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateApprovalAction200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": WorkflowAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_approval_action_request.py b/sailpoint/nerm/models/create_approval_action_request.py new file mode 100644 index 000000000..fcd63968c --- /dev/null +++ b/sailpoint/nerm/models/create_approval_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateApprovalActionRequest(BaseModel): + """ + CreateApprovalActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateApprovalActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateApprovalActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": ApprovalAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_ask_security_question_action_request.py b/sailpoint/nerm/models/create_ask_security_question_action_request.py new file mode 100644 index 000000000..ae5a53108 --- /dev/null +++ b/sailpoint/nerm/models/create_ask_security_question_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateAskSecurityQuestionActionRequest(BaseModel): + """ + CreateAskSecurityQuestionActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAskSecurityQuestionActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAskSecurityQuestionActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": AskSecurityQuestionAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_attribute201_response.py b/sailpoint/nerm/models/create_attribute201_response.py new file mode 100644 index 000000000..953d27f3a --- /dev/null +++ b/sailpoint/nerm/models/create_attribute201_response.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute import Attribute +from typing import Optional, Set +from typing_extensions import Self + +class CreateAttribute201Response(BaseModel): + """ + CreateAttribute201Response + """ # noqa: E501 + ne_attribute: Optional[Attribute] = None + __properties: ClassVar[List[str]] = ["ne_attribute"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAttribute201Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of ne_attribute + if self.ne_attribute: + _dict['ne_attribute'] = self.ne_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAttribute201Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute": Attribute.from_dict(obj["ne_attribute"]) if obj.get("ne_attribute") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_attribute_request.py b/sailpoint/nerm/models/create_attribute_request.py new file mode 100644 index 000000000..692b25e03 --- /dev/null +++ b/sailpoint/nerm/models/create_attribute_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateAttributeRequest(BaseModel): + """ + CreateAttributeRequest + """ # noqa: E501 + ne_attribute: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["ne_attribute"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAttributeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of ne_attribute + if self.ne_attribute: + _dict['ne_attribute'] = self.ne_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAttributeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute": Attribute1.from_dict(obj["ne_attribute"]) if obj.get("ne_attribute") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_auto_assign_action_request.py b/sailpoint/nerm/models/create_auto_assign_action_request.py new file mode 100644 index 000000000..59b343093 --- /dev/null +++ b/sailpoint/nerm/models/create_auto_assign_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateAutoAssignActionRequest(BaseModel): + """ + CreateAutoAssignActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAutoAssignActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAutoAssignActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": AutoAssignAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_automated_workflow_request.py b/sailpoint/nerm/models/create_automated_workflow_request.py new file mode 100644 index 000000000..7646c264a --- /dev/null +++ b/sailpoint/nerm/models/create_automated_workflow_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateAutomatedWorkflowRequest(BaseModel): + """ + CreateAutomatedWorkflowRequest + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAutomatedWorkflowRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAutomatedWorkflowRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": AutomatedWorkflow.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_batch_update_action_request.py b/sailpoint/nerm/models/create_batch_update_action_request.py new file mode 100644 index 000000000..2454adeac --- /dev/null +++ b/sailpoint/nerm/models/create_batch_update_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateBatchUpdateActionRequest(BaseModel): + """ + CreateBatchUpdateActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateBatchUpdateActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateBatchUpdateActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": BatchUpdateAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_batch_workflow_request.py b/sailpoint/nerm/models/create_batch_workflow_request.py new file mode 100644 index 000000000..ea77ef907 --- /dev/null +++ b/sailpoint/nerm/models/create_batch_workflow_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateBatchWorkflowRequest(BaseModel): + """ + CreateBatchWorkflowRequest + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateBatchWorkflowRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateBatchWorkflowRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": BatchWorkflow.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_close_session_action_request.py b/sailpoint/nerm/models/create_close_session_action_request.py new file mode 100644 index 000000000..fa84eeffd --- /dev/null +++ b/sailpoint/nerm/models/create_close_session_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateCloseSessionActionRequest(BaseModel): + """ + CreateCloseSessionActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCloseSessionActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCloseSessionActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": CloseSessionAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_contributors_action_request.py b/sailpoint/nerm/models/create_contributors_action_request.py new file mode 100644 index 000000000..938f2f585 --- /dev/null +++ b/sailpoint/nerm/models/create_contributors_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateContributorsActionRequest(BaseModel): + """ + CreateContributorsActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateContributorsActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateContributorsActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": ContributorsAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_create_profile_action_request.py b/sailpoint/nerm/models/create_create_profile_action_request.py new file mode 100644 index 000000000..223884f9d --- /dev/null +++ b/sailpoint/nerm/models/create_create_profile_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateCreateProfileActionRequest(BaseModel): + """ + CreateCreateProfileActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCreateProfileActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCreateProfileActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": CreateProfileAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_create_workflow200_response.py b/sailpoint/nerm/models/create_create_workflow200_response.py new file mode 100644 index 000000000..0e4efa5d3 --- /dev/null +++ b/sailpoint/nerm/models/create_create_workflow200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateCreateWorkflow200Response(BaseModel): + """ + CreateCreateWorkflow200Response + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCreateWorkflow200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCreateWorkflow200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": WorkflowSession.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_create_workflow_request.py b/sailpoint/nerm/models/create_create_workflow_request.py new file mode 100644 index 000000000..a0ff1eb2f --- /dev/null +++ b/sailpoint/nerm/models/create_create_workflow_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateCreateWorkflowRequest(BaseModel): + """ + CreateCreateWorkflowRequest + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCreateWorkflowRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCreateWorkflowRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": CreateWorkflow.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_duplicate_prevention_action_request.py b/sailpoint/nerm/models/create_duplicate_prevention_action_request.py new file mode 100644 index 000000000..f3e2a87b1 --- /dev/null +++ b/sailpoint/nerm/models/create_duplicate_prevention_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateDuplicatePreventionActionRequest(BaseModel): + """ + CreateDuplicatePreventionActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateDuplicatePreventionActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateDuplicatePreventionActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": DuplicatePreventionAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_email_verification_action_request.py b/sailpoint/nerm/models/create_email_verification_action_request.py new file mode 100644 index 000000000..c22b7a496 --- /dev/null +++ b/sailpoint/nerm/models/create_email_verification_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateEmailVerificationActionRequest(BaseModel): + """ + CreateEmailVerificationActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateEmailVerificationActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateEmailVerificationActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": EmailVerificationAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_form_attribute_request.py b/sailpoint/nerm/models/create_form_attribute_request.py new file mode 100644 index 000000000..b3c9e4fe7 --- /dev/null +++ b/sailpoint/nerm/models/create_form_attribute_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateFormAttributeRequest(BaseModel): + """ + CreateFormAttributeRequest + """ # noqa: E501 + form_attribute: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["form_attribute"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateFormAttributeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of form_attribute + if self.form_attribute: + _dict['form_attribute'] = self.form_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateFormAttributeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "form_attribute": FormAttributes.from_dict(obj["form_attribute"]) if obj.get("form_attribute") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_form_request.py b/sailpoint/nerm/models/create_form_request.py new file mode 100644 index 000000000..f2911726d --- /dev/null +++ b/sailpoint/nerm/models/create_form_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.forms import Forms +from typing import Optional, Set +from typing_extensions import Self + +class CreateFormRequest(BaseModel): + """ + CreateFormRequest + """ # noqa: E501 + forms: Optional[List[Forms]] = None + __properties: ClassVar[List[str]] = ["forms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateFormRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in forms (list) + _items = [] + if self.forms: + for _item_forms in self.forms: + if _item_forms: + _items.append(_item_forms.to_dict()) + _dict['forms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateFormRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "forms": [Forms.from_dict(_item) for _item in obj["forms"]] if obj.get("forms") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_fulfillment_action_request.py b/sailpoint/nerm/models/create_fulfillment_action_request.py new file mode 100644 index 000000000..bcb0bf4bf --- /dev/null +++ b/sailpoint/nerm/models/create_fulfillment_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateFulfillmentActionRequest(BaseModel): + """ + CreateFulfillmentActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateFulfillmentActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateFulfillmentActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": FulfillmentAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_identity_proofing_action_request.py b/sailpoint/nerm/models/create_identity_proofing_action_request.py new file mode 100644 index 000000000..c879ef506 --- /dev/null +++ b/sailpoint/nerm/models/create_identity_proofing_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateIdentityProofingActionRequest(BaseModel): + """ + CreateIdentityProofingActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateIdentityProofingActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateIdentityProofingActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": IdentityProofingAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_invitation_action_request.py b/sailpoint/nerm/models/create_invitation_action_request.py new file mode 100644 index 000000000..8033c0b30 --- /dev/null +++ b/sailpoint/nerm/models/create_invitation_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateInvitationActionRequest(BaseModel): + """ + CreateInvitationActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateInvitationActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateInvitationActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": InvitationAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_ldap_action_request.py b/sailpoint/nerm/models/create_ldap_action_request.py new file mode 100644 index 000000000..fbd6a850f --- /dev/null +++ b/sailpoint/nerm/models/create_ldap_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateLdapActionRequest(BaseModel): + """ + CreateLdapActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateLdapActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateLdapActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": LdapAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_login_workflow_request.py b/sailpoint/nerm/models/create_login_workflow_request.py new file mode 100644 index 000000000..442378a00 --- /dev/null +++ b/sailpoint/nerm/models/create_login_workflow_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateLoginWorkflowRequest(BaseModel): + """ + CreateLoginWorkflowRequest + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateLoginWorkflowRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateLoginWorkflowRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": LoginWorkflow.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_notification_action_request.py b/sailpoint/nerm/models/create_notification_action_request.py new file mode 100644 index 000000000..5c1239070 --- /dev/null +++ b/sailpoint/nerm/models/create_notification_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateNotificationActionRequest(BaseModel): + """ + CreateNotificationActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateNotificationActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateNotificationActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": NotificationAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_page_content_request.py b/sailpoint/nerm/models/create_page_content_request.py new file mode 100644 index 000000000..025389686 --- /dev/null +++ b/sailpoint/nerm/models/create_page_content_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePageContentRequest(BaseModel): + """ + CreatePageContentRequest + """ # noqa: E501 + page_content: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_content"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePageContentRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_content + if self.page_content: + _dict['page_content'] = self.page_content.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePageContentRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_content": PageContent1.from_dict(obj["page_content"]) if obj.get("page_content") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_page_content_translation_request.py b/sailpoint/nerm/models/create_page_content_translation_request.py new file mode 100644 index 000000000..c2cedbb91 --- /dev/null +++ b/sailpoint/nerm/models/create_page_content_translation_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePageContentTranslationRequest(BaseModel): + """ + CreatePageContentTranslationRequest + """ # noqa: E501 + page_content_translation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_content_translation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePageContentTranslationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_content_translation + if self.page_content_translation: + _dict['page_content_translation'] = self.page_content_translation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePageContentTranslationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_content_translation": PageContentTranslation1.from_dict(obj["page_content_translation"]) if obj.get("page_content_translation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_page_element_request.py b/sailpoint/nerm/models/create_page_element_request.py new file mode 100644 index 000000000..03b70a48a --- /dev/null +++ b/sailpoint/nerm/models/create_page_element_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePageElementRequest(BaseModel): + """ + CreatePageElementRequest + """ # noqa: E501 + page_element: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_element"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePageElementRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_element + if self.page_element: + _dict['page_element'] = self.page_element.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePageElementRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_element": PageElement1.from_dict(obj["page_element"]) if obj.get("page_element") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_password_reset_action_request.py b/sailpoint/nerm/models/create_password_reset_action_request.py new file mode 100644 index 000000000..bc7d1c8fd --- /dev/null +++ b/sailpoint/nerm/models/create_password_reset_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePasswordResetActionRequest(BaseModel): + """ + CreatePasswordResetActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePasswordResetActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePasswordResetActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": PasswordResetAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_permission200_response.py b/sailpoint/nerm/models/create_permission200_response.py new file mode 100644 index 000000000..485df69e2 --- /dev/null +++ b/sailpoint/nerm/models/create_permission200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePermission200Response(BaseModel): + """ + CreatePermission200Response + """ # noqa: E501 + permission: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["permission"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePermission200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of permission + if self.permission: + _dict['permission'] = self.permission.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePermission200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permission": Permission.from_dict(obj["permission"]) if obj.get("permission") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_permission_request.py b/sailpoint/nerm/models/create_permission_request.py new file mode 100644 index 000000000..4151d479d --- /dev/null +++ b/sailpoint/nerm/models/create_permission_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreatePermissionRequest(BaseModel): + """ + CreatePermissionRequest + """ # noqa: E501 + permission: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["permission"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePermissionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of permission + if self.permission: + _dict['permission'] = self.permission.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePermissionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permission": Permission1.from_dict(obj["permission"]) if obj.get("permission") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_action.py b/sailpoint/nerm/models/create_profile_action.py new file mode 100644 index 000000000..10cc5cb09 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_action.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfileAction(BaseModel): + """ + CreateProfileAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + add_requester_as_owner: Optional[StrictBool] = Field(default=True, description="If the requester should be added as the owner of the profile to be created.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "add_requester_as_owner", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfileAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfileAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "add_requester_as_owner": obj.get("add_requester_as_owner") if obj.get("add_requester_as_owner") is not None else True, + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_check_action_request.py b/sailpoint/nerm/models/create_profile_check_action_request.py new file mode 100644 index 000000000..aaa683e92 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_check_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfileCheckActionRequest(BaseModel): + """ + CreateProfileCheckActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfileCheckActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfileCheckActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": ProfileCheckAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_page200_response.py b/sailpoint/nerm/models/create_profile_page200_response.py new file mode 100644 index 000000000..2a9027248 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_page200_response.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.pages import Pages +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfilePage200Response(BaseModel): + """ + CreateProfilePage200Response + """ # noqa: E501 + page: Optional[Pages] = None + __properties: ClassVar[List[str]] = ["page"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfilePage200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page + if self.page: + _dict['page'] = self.page.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfilePage200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page": Pages.from_dict(obj["page"]) if obj.get("page") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_page_request.py b/sailpoint/nerm/models/create_profile_page_request.py new file mode 100644 index 000000000..5d35f9f80 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_page_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile_page import ProfilePage +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfilePageRequest(BaseModel): + """ + CreateProfilePageRequest + """ # noqa: E501 + page: Optional[ProfilePage] = None + __properties: ClassVar[List[str]] = ["page"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfilePageRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page + if self.page: + _dict['page'] = self.page.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfilePageRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page": ProfilePage.from_dict(obj["page"]) if obj.get("page") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_select_action_request.py b/sailpoint/nerm/models/create_profile_select_action_request.py new file mode 100644 index 000000000..d3f38829c --- /dev/null +++ b/sailpoint/nerm/models/create_profile_select_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfileSelectActionRequest(BaseModel): + """ + CreateProfileSelectActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfileSelectActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfileSelectActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": ProfileSelectAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_type_role200_response.py b/sailpoint/nerm/models/create_profile_type_role200_response.py new file mode 100644 index 000000000..a66fe8291 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_type_role200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfileTypeRole200Response(BaseModel): + """ + CreateProfileTypeRole200Response + """ # noqa: E501 + profile_type_roles: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile_type_roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfileTypeRole200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile_type_roles + if self.profile_type_roles: + _dict['profile_type_roles'] = self.profile_type_roles.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfileTypeRole200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_roles": ProfileTypeRoles.from_dict(obj["profile_type_roles"]) if obj.get("profile_type_roles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profile_type_role_request.py b/sailpoint/nerm/models/create_profile_type_role_request.py new file mode 100644 index 000000000..db441c9b1 --- /dev/null +++ b/sailpoint/nerm/models/create_profile_type_role_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfileTypeRoleRequest(BaseModel): + """ + CreateProfileTypeRoleRequest + """ # noqa: E501 + profile_type_role: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile_type_role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfileTypeRoleRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile_type_role + if self.profile_type_role: + _dict['profile_type_role'] = self.profile_type_role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfileTypeRoleRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_role": ProfileTypeRoles1.from_dict(obj["profile_type_role"]) if obj.get("profile_type_role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_profiles_request.py b/sailpoint/nerm/models/create_profiles_request.py new file mode 100644 index 000000000..be78b3f10 --- /dev/null +++ b/sailpoint/nerm/models/create_profiles_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile1 import Profile1 +from typing import Optional, Set +from typing_extensions import Self + +class CreateProfilesRequest(BaseModel): + """ + CreateProfilesRequest + """ # noqa: E501 + profiles: Optional[List[Profile1]] = None + __properties: ClassVar[List[str]] = ["profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProfilesRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profiles (list) + _items = [] + if self.profiles: + for _item_profiles in self.profiles: + if _item_profiles: + _items.append(_item_profiles.to_dict()) + _dict['profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProfilesRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profiles": [Profile1.from_dict(_item) for _item in obj["profiles"]] if obj.get("profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_request_action_request.py b/sailpoint/nerm/models/create_request_action_request.py new file mode 100644 index 000000000..9fbd52ff6 --- /dev/null +++ b/sailpoint/nerm/models/create_request_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateRequestActionRequest(BaseModel): + """ + CreateRequestActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateRequestActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateRequestActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": RequestAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_rest_api_action_request.py b/sailpoint/nerm/models/create_rest_api_action_request.py new file mode 100644 index 000000000..a61075c99 --- /dev/null +++ b/sailpoint/nerm/models/create_rest_api_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateRestApiActionRequest(BaseModel): + """ + CreateRestApiActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateRestApiActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateRestApiActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": RestApiAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_review_action_request.py b/sailpoint/nerm/models/create_review_action_request.py new file mode 100644 index 000000000..7dd5b63be --- /dev/null +++ b/sailpoint/nerm/models/create_review_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateReviewActionRequest(BaseModel): + """ + CreateReviewActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateReviewActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateReviewActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": ReviewAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_run_workflow_action_request.py b/sailpoint/nerm/models/create_run_workflow_action_request.py new file mode 100644 index 000000000..d01ac5310 --- /dev/null +++ b/sailpoint/nerm/models/create_run_workflow_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateRunWorkflowActionRequest(BaseModel): + """ + CreateRunWorkflowActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateRunWorkflowActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateRunWorkflowActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": RunWorkflowAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_set_attributes_action_request.py b/sailpoint/nerm/models/create_set_attributes_action_request.py new file mode 100644 index 000000000..598126efc --- /dev/null +++ b/sailpoint/nerm/models/create_set_attributes_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSetAttributesActionRequest(BaseModel): + """ + CreateSetAttributesActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSetAttributesActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSetAttributesActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": SetAttributesAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_set_security_question_action_request.py b/sailpoint/nerm/models/create_set_security_question_action_request.py new file mode 100644 index 000000000..3cda8390c --- /dev/null +++ b/sailpoint/nerm/models/create_set_security_question_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSetSecurityQuestionActionRequest(BaseModel): + """ + CreateSetSecurityQuestionActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSetSecurityQuestionActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSetSecurityQuestionActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": SetSecurityQuestionAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_soap_api_action_request.py b/sailpoint/nerm/models/create_soap_api_action_request.py new file mode 100644 index 000000000..b9a2a38de --- /dev/null +++ b/sailpoint/nerm/models/create_soap_api_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSoapApiActionRequest(BaseModel): + """ + CreateSoapApiActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSoapApiActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSoapApiActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": SoapApiAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_status_change_action_request.py b/sailpoint/nerm/models/create_status_change_action_request.py new file mode 100644 index 000000000..f44d40dbe --- /dev/null +++ b/sailpoint/nerm/models/create_status_change_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateStatusChangeActionRequest(BaseModel): + """ + CreateStatusChangeActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateStatusChangeActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateStatusChangeActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": StatusChangeAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_synced_attribute201_response.py b/sailpoint/nerm/models/create_synced_attribute201_response.py new file mode 100644 index 000000000..ac8f26596 --- /dev/null +++ b/sailpoint/nerm/models/create_synced_attribute201_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSyncedAttribute201Response(BaseModel): + """ + CreateSyncedAttribute201Response + """ # noqa: E501 + synced_attribute: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["synced_attribute"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSyncedAttribute201Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of synced_attribute + if self.synced_attribute: + _dict['synced_attribute'] = self.synced_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSyncedAttribute201Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "synced_attribute": SyncedAttribute.from_dict(obj["synced_attribute"]) if obj.get("synced_attribute") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_system_role_permission200_response.py b/sailpoint/nerm/models/create_system_role_permission200_response.py new file mode 100644 index 000000000..97f8e084f --- /dev/null +++ b/sailpoint/nerm/models/create_system_role_permission200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSystemRolePermission200Response(BaseModel): + """ + CreateSystemRolePermission200Response + """ # noqa: E501 + system_role_permission: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["system_role_permission"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSystemRolePermission200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of system_role_permission + if self.system_role_permission: + _dict['system_role_permission'] = self.system_role_permission.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSystemRolePermission200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "system_role_permission": SystemRolePermission.from_dict(obj["system_role_permission"]) if obj.get("system_role_permission") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_system_role_permission_request.py b/sailpoint/nerm/models/create_system_role_permission_request.py new file mode 100644 index 000000000..47f09526f --- /dev/null +++ b/sailpoint/nerm/models/create_system_role_permission_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateSystemRolePermissionRequest(BaseModel): + """ + CreateSystemRolePermissionRequest + """ # noqa: E501 + system_role_permission: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["system_role_permission"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSystemRolePermissionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of system_role_permission + if self.system_role_permission: + _dict['system_role_permission'] = self.system_role_permission.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSystemRolePermissionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "system_role_permission": SystemRolePermission1.from_dict(obj["system_role_permission"]) if obj.get("system_role_permission") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_unassign_action_request.py b/sailpoint/nerm/models/create_unassign_action_request.py new file mode 100644 index 000000000..cef39d4b7 --- /dev/null +++ b/sailpoint/nerm/models/create_unassign_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateUnassignActionRequest(BaseModel): + """ + CreateUnassignActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateUnassignActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateUnassignActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": UnassignAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_update_profile_action_request.py b/sailpoint/nerm/models/create_update_profile_action_request.py new file mode 100644 index 000000000..616e9b5c2 --- /dev/null +++ b/sailpoint/nerm/models/create_update_profile_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateUpdateProfileActionRequest(BaseModel): + """ + CreateUpdateProfileActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateUpdateProfileActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateUpdateProfileActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": UpdateProfileAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_update_workflow_request.py b/sailpoint/nerm/models/create_update_workflow_request.py new file mode 100644 index 000000000..1bae6a2ed --- /dev/null +++ b/sailpoint/nerm/models/create_update_workflow_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateUpdateWorkflowRequest(BaseModel): + """ + CreateUpdateWorkflowRequest + """ # noqa: E501 + workflow: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateUpdateWorkflowRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateUpdateWorkflowRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow": UpdateWorkflow.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_user_profiles200_response.py b/sailpoint/nerm/models/create_user_profiles200_response.py new file mode 100644 index 000000000..94b1ce194 --- /dev/null +++ b/sailpoint/nerm/models/create_user_profiles200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.user_profiles import UserProfiles +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +CREATEUSERPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["Job", "UserProfiles"] + +class CreateUserProfiles200Response(BaseModel): + """ + CreateUserProfiles200Response + """ + # data type: UserProfiles + oneof_schema_1_validator: Optional[UserProfiles] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, UserProfiles]] = None + one_of_schemas: Set[str] = { "Job", "UserProfiles" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = CreateUserProfiles200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: UserProfiles + if not isinstance(v, UserProfiles): + error_messages.append(f"Error! Input type `{type(v)}` is not `UserProfiles`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in CreateUserProfiles200Response with oneOf schemas: Job, UserProfiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in CreateUserProfiles200Response with oneOf schemas: Job, UserProfiles. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into UserProfiles + try: + instance.actual_instance = UserProfiles.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into CreateUserProfiles200Response with oneOf schemas: Job, UserProfiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into CreateUserProfiles200Response with oneOf schemas: Job, UserProfiles. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, UserProfiles]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/create_user_profiles_request.py b/sailpoint/nerm/models/create_user_profiles_request.py new file mode 100644 index 000000000..2fe629abf --- /dev/null +++ b/sailpoint/nerm/models/create_user_profiles_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_profile1 import UserProfile1 +from typing import Optional, Set +from typing_extensions import Self + +class CreateUserProfilesRequest(BaseModel): + """ + CreateUserProfilesRequest + """ # noqa: E501 + user_profiles: Optional[List[UserProfile1]] = None + __properties: ClassVar[List[str]] = ["user_profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateUserProfilesRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_profiles (list) + _items = [] + if self.user_profiles: + for _item_user_profiles in self.user_profiles: + if _item_user_profiles: + _items.append(_item_user_profiles.to_dict()) + _dict['user_profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateUserProfilesRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_profiles": [UserProfile1.from_dict(_item) for _item in obj["user_profiles"]] if obj.get("user_profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_username_password_action_request.py b/sailpoint/nerm/models/create_username_password_action_request.py new file mode 100644 index 000000000..e32dabfa4 --- /dev/null +++ b/sailpoint/nerm/models/create_username_password_action_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateUsernamePasswordActionRequest(BaseModel): + """ + CreateUsernamePasswordActionRequest + """ # noqa: E501 + workflow_action: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateUsernamePasswordActionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action + if self.workflow_action: + _dict['workflow_action'] = self.workflow_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateUsernamePasswordActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action": UsernamePasswordAction.from_dict(obj["workflow_action"]) if obj.get("workflow_action") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_workflow.py b/sailpoint/nerm/models/create_workflow.py new file mode 100644 index 000000000..428feb5d1 --- /dev/null +++ b/sailpoint/nerm/models/create_workflow.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateWorkflow(BaseModel): + """ + CreateWorkflow + """ # noqa: E501 + profile_type_id: StrictStr = Field(description="The profile type the workflow effects.") + status: StrictStr = Field(description="Whether or not the workflow is enabled or disabled.") + uid: StrictStr = Field(description="The user-specified identifier of the workflow.") + name: StrictStr = Field(description="Name of the workflow") + disable_failure_email_notifications: Optional[StrictBool] = Field(default=None, description="When honored at runtime, suppresses failure email notifications for this workflow's sessions.") + __properties: ClassVar[List[str]] = ["profile_type_id", "status", "uid", "name", "disable_failure_email_notifications"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Enabled', 'Disabled']): + warnings.warn(f"must be one of enum values ('Enabled', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateWorkflow from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if disable_failure_email_notifications (nullable) is None + # and model_fields_set contains the field + if self.disable_failure_email_notifications is None and "disable_failure_email_notifications" in self.model_fields_set: + _dict['disable_failure_email_notifications'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateWorkflow from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "disable_failure_email_notifications": obj.get("disable_failure_email_notifications") + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_workflow_action_performer200_response.py b/sailpoint/nerm/models/create_workflow_action_performer200_response.py new file mode 100644 index 000000000..b39d0bc50 --- /dev/null +++ b/sailpoint/nerm/models/create_workflow_action_performer200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateWorkflowActionPerformer200Response(BaseModel): + """ + CreateWorkflowActionPerformer200Response + """ # noqa: E501 + workflow_action_performer: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action_performer"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateWorkflowActionPerformer200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action_performer + if self.workflow_action_performer: + _dict['workflow_action_performer'] = self.workflow_action_performer.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateWorkflowActionPerformer200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action_performer": WorkflowActionPerformers.from_dict(obj["workflow_action_performer"]) if obj.get("workflow_action_performer") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_workflow_action_performer_request.py b/sailpoint/nerm/models/create_workflow_action_performer_request.py new file mode 100644 index 000000000..f2b256a0c --- /dev/null +++ b/sailpoint/nerm/models/create_workflow_action_performer_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CreateWorkflowActionPerformerRequest(BaseModel): + """ + CreateWorkflowActionPerformerRequest + """ # noqa: E501 + workflow_action_performers: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_action_performers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateWorkflowActionPerformerRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action_performers + if self.workflow_action_performers: + _dict['workflow_action_performers'] = self.workflow_action_performers.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateWorkflowActionPerformerRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_action_performers": WorkflowActionPerformers1.from_dict(obj["workflow_action_performers"]) if obj.get("workflow_action_performers") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/create_workflow_page_request.py b/sailpoint/nerm/models/create_workflow_page_request.py new file mode 100644 index 000000000..29435265a --- /dev/null +++ b/sailpoint/nerm/models/create_workflow_page_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.workflow_page import WorkflowPage +from typing import Optional, Set +from typing_extensions import Self + +class CreateWorkflowPageRequest(BaseModel): + """ + CreateWorkflowPageRequest + """ # noqa: E501 + page: Optional[WorkflowPage] = None + __properties: ClassVar[List[str]] = ["page"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateWorkflowPageRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page + if self.page: + _dict['page'] = self.page.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateWorkflowPageRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page": WorkflowPage.from_dict(obj["page"]) if obj.get("page") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/data_records.py b/sailpoint/nerm/models/data_records.py new file mode 100644 index 000000000..1ad930270 --- /dev/null +++ b/sailpoint/nerm/models/data_records.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DataRecords(BaseModel): + """ + DataRecords + """ # noqa: E501 + master_record_id: Optional[StrictStr] = Field(default=None, description="The id of the master record") + __properties: ClassVar[List[str]] = ["master_record_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataRecords from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataRecords from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "master_record_id": obj.get("master_record_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegation.py b/sailpoint/nerm/models/delegation.py new file mode 100644 index 000000000..0f0c5a6c3 --- /dev/null +++ b/sailpoint/nerm/models/delegation.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Delegation(BaseModel): + """ + Delegation + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the delegation") + delegator_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegator user") + delegate_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegate user") + expiration: Optional[datetime] = Field(default=None, description="The expiration date of the delegation") + expired: Optional[StrictBool] = Field(default=None, description="Indicates if the delegation is expired") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "delegator_id", "delegate_id", "expiration", "expired", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Delegation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Delegation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "delegator_id": obj.get("delegator_id"), + "delegate_id": obj.get("delegate_id"), + "expiration": obj.get("expiration"), + "expired": obj.get("expired"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegation1.py b/sailpoint/nerm/models/delegation1.py new file mode 100644 index 000000000..02ad285ec --- /dev/null +++ b/sailpoint/nerm/models/delegation1.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Delegation1(BaseModel): + """ + Delegation1 + """ # noqa: E501 + delegator_id: Optional[StrictStr] = Field(default=None, description="The id of the delegator") + delegate_id: Optional[StrictStr] = Field(default=None, description="The id of the delegate") + expiration: Optional[datetime] = Field(default=None, description="The expiration date of the delegation") + __properties: ClassVar[List[str]] = ["delegator_id", "delegate_id", "expiration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Delegation1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Delegation1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegator_id": obj.get("delegator_id"), + "delegate_id": obj.get("delegate_id"), + "expiration": obj.get("expiration") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegations_get200_response.py b/sailpoint/nerm/models/delegations_get200_response.py new file mode 100644 index 000000000..d06346a14 --- /dev/null +++ b/sailpoint/nerm/models/delegations_get200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.delegation import Delegation +from sailpoint.nerm.models.metadata import Metadata +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsGet200Response(BaseModel): + """ + DelegationsGet200Response + """ # noqa: E501 + delegations: Optional[List[Delegation]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["delegations", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsGet200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in delegations (list) + _items = [] + if self.delegations: + for _item_delegations in self.delegations: + if _item_delegations: + _items.append(_item_delegations.to_dict()) + _dict['delegations'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsGet200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegations": [Delegation.from_dict(_item) for _item in obj["delegations"]] if obj.get("delegations") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegations_post201_response.py b/sailpoint/nerm/models/delegations_post201_response.py new file mode 100644 index 000000000..0ac83feb4 --- /dev/null +++ b/sailpoint/nerm/models/delegations_post201_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPost201Response(BaseModel): + """ + DelegationsPost201Response + """ # noqa: E501 + delegation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["delegation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPost201Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of delegation + if self.delegation: + _dict['delegation'] = self.delegation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPost201Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegation": Delegation.from_dict(obj["delegation"]) if obj.get("delegation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegations_post404_response.py b/sailpoint/nerm/models/delegations_post404_response.py new file mode 100644 index 000000000..86b676f30 --- /dev/null +++ b/sailpoint/nerm/models/delegations_post404_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPost404Response(BaseModel): + """ + DelegationsPost404Response + """ # noqa: E501 + error: Optional[Dict[str, Any]] = Field(default=None, description="The requested record, either ID or UID, was not found") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPost404Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPost404Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delegations_post_request.py b/sailpoint/nerm/models/delegations_post_request.py new file mode 100644 index 000000000..df3d25e98 --- /dev/null +++ b/sailpoint/nerm/models/delegations_post_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPostRequest(BaseModel): + """ + DelegationsPostRequest + """ # noqa: E501 + delegation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["delegation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPostRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of delegation + if self.delegation: + _dict['delegation'] = self.delegation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegation": Delegation1.from_dict(obj["delegation"]) if obj.get("delegation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/delete_attribute_option_by_id200_response.py b/sailpoint/nerm/models/delete_attribute_option_by_id200_response.py new file mode 100644 index 000000000..7d5fc10c2 --- /dev/null +++ b/sailpoint/nerm/models/delete_attribute_option_by_id200_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteAttributeOptionById200Response(BaseModel): + """ + DeleteAttributeOptionById200Response + """ # noqa: E501 + info: Optional[StrictStr] = 'The option {Option Value} has been deleted' + __properties: ClassVar[List[str]] = ["info"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteAttributeOptionById200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteAttributeOptionById200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "info": obj.get("info") if obj.get("info") is not None else 'The option {Option Value} has been deleted' + }) + return _obj + + diff --git a/sailpoint/nerm/models/delete_master_record400_response.py b/sailpoint/nerm/models/delete_master_record400_response.py new file mode 100644 index 000000000..cbda0d6d0 --- /dev/null +++ b/sailpoint/nerm/models/delete_master_record400_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteMasterRecord400Response(BaseModel): + """ + DeleteMasterRecord400Response + """ # noqa: E501 + error: Optional[StrictStr] = Field(default=None, description="A message describing the error that occurred") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteMasterRecord400Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteMasterRecord400Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delete_profile_type_by_id200_response.py b/sailpoint/nerm/models/delete_profile_type_by_id200_response.py new file mode 100644 index 000000000..d48647e51 --- /dev/null +++ b/sailpoint/nerm/models/delete_profile_type_by_id200_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteProfileTypeById200Response(BaseModel): + """ + DeleteProfileTypeById200Response + """ # noqa: E501 + info: Optional[Dict[str, Any]] = Field(default=None, description="A message confirming the operation") + __properties: ClassVar[List[str]] = ["info"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteProfileTypeById200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteProfileTypeById200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "info": obj.get("info") + }) + return _obj + + diff --git a/sailpoint/nerm/models/delete_profiles200_response.py b/sailpoint/nerm/models/delete_profiles200_response.py new file mode 100644 index 000000000..2eed7be85 --- /dev/null +++ b/sailpoint/nerm/models/delete_profiles200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.profiles import Profiles +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +DELETEPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["Job", "Profiles"] + +class DeleteProfiles200Response(BaseModel): + """ + DeleteProfiles200Response + """ + # data type: Profiles + oneof_schema_1_validator: Optional[Profiles] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, Profiles]] = None + one_of_schemas: Set[str] = { "Job", "Profiles" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = DeleteProfiles200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: Profiles + if not isinstance(v, Profiles): + error_messages.append(f"Error! Input type `{type(v)}` is not `Profiles`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in DeleteProfiles200Response with oneOf schemas: Job, Profiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in DeleteProfiles200Response with oneOf schemas: Job, Profiles. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into Profiles + try: + instance.actual_instance = Profiles.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into DeleteProfiles200Response with oneOf schemas: Job, Profiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into DeleteProfiles200Response with oneOf schemas: Job, Profiles. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, Profiles]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/duplicate_prevention_action.py b/sailpoint/nerm/models/duplicate_prevention_action.py new file mode 100644 index 000000000..e0a1f8acc --- /dev/null +++ b/sailpoint/nerm/models/duplicate_prevention_action.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DuplicatePreventionAction(BaseModel): + """ + DuplicatePreventionAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + search_scope: StrictStr = Field(description="The search scope of the profiles to check against.") + ne_attribute_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of ne_attribute_ids.") + handle_id: Optional[StrictStr] = Field(default=None, description="The handle id.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "search_scope", "ne_attribute_ids", "handle_id", "archived"] + + @field_validator('search_scope') + def search_scope_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['all', 'current']): + warnings.warn(f"must be one of enum values ('all', 'current') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DuplicatePreventionAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DuplicatePreventionAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "search_scope": obj.get("search_scope"), + "ne_attribute_ids": obj.get("ne_attribute_ids"), + "handle_id": obj.get("handle_id"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/email_verification_action.py b/sailpoint/nerm/models/email_verification_action.py new file mode 100644 index 000000000..44dd422ec --- /dev/null +++ b/sailpoint/nerm/models/email_verification_action.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class EmailVerificationAction(BaseModel): + """ + EmailVerificationAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + email_expiration: StrictInt = Field(description="The email expiration time, in minutes.") + token_expiration: StrictInt = Field(description="The token expiration time, coordinates with token_expiration_type.") + token_expiration_type: StrictStr = Field(description="The token expiration type, coordinates with token_expiration.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "email_expiration", "token_expiration", "token_expiration_type", "archived"] + + @field_validator('token_expiration_type') + def token_expiration_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['hours', 'days', 'login attempts', 'always']): + warnings.warn(f"must be one of enum values ('hours', 'days', 'login attempts', 'always') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EmailVerificationAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EmailVerificationAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "email_expiration": obj.get("email_expiration"), + "token_expiration": obj.get("token_expiration"), + "token_expiration_type": obj.get("token_expiration_type"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/form.py b/sailpoint/nerm/models/form.py new file mode 100644 index 000000000..8f6af86a8 --- /dev/null +++ b/sailpoint/nerm/models/form.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Form(BaseModel): + """ + Form + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the form") + description: Optional[StrictStr] = Field(default=None, description="The description of the form") + name: Optional[StrictStr] = Field(default=None, description="The name of the form") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the form is archived") + id: Optional[StrictStr] = Field(default=None, description="The id of the form") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived", "id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Form from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Form from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived"), + "id": obj.get("id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/form1.py b/sailpoint/nerm/models/form1.py new file mode 100644 index 000000000..858a5d253 --- /dev/null +++ b/sailpoint/nerm/models/form1.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Form1(BaseModel): + """ + Form1 + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the form") + description: Optional[StrictStr] = Field(default=None, description="The description of the form") + name: Optional[StrictStr] = Field(default=None, description="The name of the form") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the form is archived") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Form1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Form1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived") + }) + return _obj + + diff --git a/sailpoint/nerm/models/form_attribute.py b/sailpoint/nerm/models/form_attribute.py new file mode 100644 index 000000000..74ec780bc --- /dev/null +++ b/sailpoint/nerm/models/form_attribute.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class FormAttribute(BaseModel): + """ + FormAttribute + """ # noqa: E501 + form_id: Optional[StrictStr] = Field(default=None, description="The id of the form") + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The id of the attribute") + attr_type: Optional[StrictStr] = Field(default=None, description="The attribute type") + order: Optional[StrictInt] = Field(default=None, description="The ordinal position of the attribute on the Form. The order value determines the order or sequence the Form values are presented in the user interface. Each FormAttribute on a Form must have a unique order value. Order valuess can start at zero (0), but often start at one (1). The FormAttribute with order 1 is presented before the FormAttribute with order 2, and so on. Gaps in the order can exist and the system ignores them.") + id: Optional[StrictStr] = Field(default=None, description="The id of the form attribute") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["form_id", "ne_attribute_id", "attr_type", "order", "id", "created_at", "updated_at"] + + @field_validator('attr_type') + def attr_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['ne_attribute', 'break']): + warnings.warn(f"must be one of enum values ('ne_attribute', 'break') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FormAttribute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FormAttribute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "form_id": obj.get("form_id"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "attr_type": obj.get("attr_type"), + "order": obj.get("order"), + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/form_attributes.py b/sailpoint/nerm/models/form_attributes.py new file mode 100644 index 000000000..6ac9b5056 --- /dev/null +++ b/sailpoint/nerm/models/form_attributes.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class FormAttributes(BaseModel): + """ + FormAttributes + """ # noqa: E501 + form_id: Optional[StrictStr] = Field(default=None, description="The id of the form") + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The id of the attribute") + attr_type: Optional[StrictStr] = Field(default=None, description="The attribute type") + order: Optional[StrictInt] = Field(default=None, description="The ordinal position of the attribute on the Form. The order value determines the order or sequence the Form values are presented in the user interface. Each FormAttribute on a Form must have a unique order value. Order valuess can start at zero (0), but often start at one (1). The FormAttribute with order 1 is presented before the FormAttribute with order 2, and so on. Gaps in the order can exist and the system ignores them.") + __properties: ClassVar[List[str]] = ["form_id", "ne_attribute_id", "attr_type", "order"] + + @field_validator('attr_type') + def attr_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['ne_attribute', 'break']): + warnings.warn(f"must be one of enum values ('ne_attribute', 'break') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FormAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FormAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "form_id": obj.get("form_id"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "attr_type": obj.get("attr_type"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/forms.py b/sailpoint/nerm/models/forms.py new file mode 100644 index 000000000..93a541210 --- /dev/null +++ b/sailpoint/nerm/models/forms.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Forms(BaseModel): + """ + Forms + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the form") + description: Optional[StrictStr] = Field(default=None, description="The description of the form") + name: Optional[StrictStr] = Field(default=None, description="The name of the form") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the form is archived") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Forms from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Forms from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived") + }) + return _obj + + diff --git a/sailpoint/nerm/models/fulfillment_action.py b/sailpoint/nerm/models/fulfillment_action.py new file mode 100644 index 000000000..5031b761a --- /dev/null +++ b/sailpoint/nerm/models/fulfillment_action.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class FulfillmentAction(BaseModel): + """ + FulfillmentAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + page_id: Optional[StrictStr] = Field(default=None, description="The page the workflow action should render.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + requires_comment: Optional[StrictBool] = Field(default=False, description="If the workflow action requires a comment or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "page_id", "archived", "requires_comment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FulfillmentAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FulfillmentAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "page_id": obj.get("page_id"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "requires_comment": obj.get("requires_comment") if obj.get("requires_comment") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_advanced_search200_response.py b/sailpoint/nerm/models/get_advanced_search200_response.py new file mode 100644 index 000000000..4c5f75cda --- /dev/null +++ b/sailpoint/nerm/models/get_advanced_search200_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.advanced_search import AdvancedSearch +from typing import Optional, Set +from typing_extensions import Self + +class GetAdvancedSearch200Response(BaseModel): + """ + GetAdvancedSearch200Response + """ # noqa: E501 + advanced_search: Optional[List[AdvancedSearch]] = None + __properties: ClassVar[List[str]] = ["advanced_search"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAdvancedSearch200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in advanced_search (list) + _items = [] + if self.advanced_search: + for _item_advanced_search in self.advanced_search: + if _item_advanced_search: + _items.append(_item_advanced_search.to_dict()) + _dict['advanced_search'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAdvancedSearch200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "advanced_search": [AdvancedSearch.from_dict(_item) for _item in obj["advanced_search"]] if obj.get("advanced_search") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_attribute_options200_response.py b/sailpoint/nerm/models/get_attribute_options200_response.py new file mode 100644 index 000000000..ec2bbd199 --- /dev/null +++ b/sailpoint/nerm/models/get_attribute_options200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_option import AttributeOption +from sailpoint.nerm.models.metadata import Metadata +from typing import Optional, Set +from typing_extensions import Self + +class GetAttributeOptions200Response(BaseModel): + """ + GetAttributeOptions200Response + """ # noqa: E501 + ne_attribute_options: Optional[List[AttributeOption]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["ne_attribute_options", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAttributeOptions200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ne_attribute_options (list) + _items = [] + if self.ne_attribute_options: + for _item_ne_attribute_options in self.ne_attribute_options: + if _item_ne_attribute_options: + _items.append(_item_ne_attribute_options.to_dict()) + _dict['ne_attribute_options'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAttributeOptions200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_options": [AttributeOption.from_dict(_item) for _item in obj["ne_attribute_options"]] if obj.get("ne_attribute_options") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_attributes200_response.py b/sailpoint/nerm/models/get_attributes200_response.py new file mode 100644 index 000000000..46238633b --- /dev/null +++ b/sailpoint/nerm/models/get_attributes200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute import Attribute +from sailpoint.nerm.models.metadata import Metadata +from typing import Optional, Set +from typing_extensions import Self + +class GetAttributes200Response(BaseModel): + """ + GetAttributes200Response + """ # noqa: E501 + ne_attributes: Optional[List[Attribute]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["ne_attributes", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAttributes200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ne_attributes (list) + _items = [] + if self.ne_attributes: + for _item_ne_attributes in self.ne_attributes: + if _item_ne_attributes: + _items.append(_item_ne_attributes.to_dict()) + _dict['ne_attributes'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAttributes200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attributes": [Attribute.from_dict(_item) for _item in obj["ne_attributes"]] if obj.get("ne_attributes") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_attributes400_response.py b/sailpoint/nerm/models/get_attributes400_response.py new file mode 100644 index 000000000..98e41e793 --- /dev/null +++ b/sailpoint/nerm/models/get_attributes400_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.invalid_json import InvalidJson +from sailpoint.nerm.models.validation_errors import ValidationErrors +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETATTRIBUTES400RESPONSE_ONE_OF_SCHEMAS = ["InvalidJson", "ValidationErrors"] + +class GetAttributes400Response(BaseModel): + """ + GetAttributes400Response + """ + # data type: InvalidJson + oneof_schema_1_validator: Optional[InvalidJson] = None + # data type: ValidationErrors + oneof_schema_2_validator: Optional[ValidationErrors] = None + actual_instance: Optional[Union[InvalidJson, ValidationErrors]] = None + one_of_schemas: Set[str] = { "InvalidJson", "ValidationErrors" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetAttributes400Response.model_construct() + error_messages = [] + match = 0 + # validate data type: InvalidJson + if not isinstance(v, InvalidJson): + error_messages.append(f"Error! Input type `{type(v)}` is not `InvalidJson`") + else: + match += 1 + # validate data type: ValidationErrors + if not isinstance(v, ValidationErrors): + error_messages.append(f"Error! Input type `{type(v)}` is not `ValidationErrors`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetAttributes400Response with oneOf schemas: InvalidJson, ValidationErrors. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetAttributes400Response with oneOf schemas: InvalidJson, ValidationErrors. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into InvalidJson + try: + instance.actual_instance = InvalidJson.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ValidationErrors + try: + instance.actual_instance = ValidationErrors.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetAttributes400Response with oneOf schemas: InvalidJson, ValidationErrors. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetAttributes400Response with oneOf schemas: InvalidJson, ValidationErrors. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], InvalidJson, ValidationErrors]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/get_attributes500_response.py b/sailpoint/nerm/models/get_attributes500_response.py new file mode 100644 index 000000000..d1b0abf31 --- /dev/null +++ b/sailpoint/nerm/models/get_attributes500_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAttributes500Response(BaseModel): + """ + GetAttributes500Response + """ # noqa: E501 + error: Optional[Dict[str, Any]] = Field(default=None, description="A message describing the error") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAttributes500Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAttributes500Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_form_attributes200_response.py b/sailpoint/nerm/models/get_form_attributes200_response.py new file mode 100644 index 000000000..f93e6088f --- /dev/null +++ b/sailpoint/nerm/models/get_form_attributes200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetFormAttributes200Response(BaseModel): + """ + GetFormAttributes200Response + """ # noqa: E501 + form_attribute: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["form_attribute"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetFormAttributes200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of form_attribute + if self.form_attribute: + _dict['form_attribute'] = self.form_attribute.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetFormAttributes200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "form_attribute": FormAttribute.from_dict(obj["form_attribute"]) if obj.get("form_attribute") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_forms200_response.py b/sailpoint/nerm/models/get_forms200_response.py new file mode 100644 index 000000000..1b2b87f6c --- /dev/null +++ b/sailpoint/nerm/models/get_forms200_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.form import Form +from typing import Optional, Set +from typing_extensions import Self + +class GetForms200Response(BaseModel): + """ + GetForms200Response + """ # noqa: E501 + forms: Optional[List[Form]] = None + __properties: ClassVar[List[str]] = ["forms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetForms200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in forms (list) + _items = [] + if self.forms: + for _item_forms in self.forms: + if _item_forms: + _items.append(_item_forms.to_dict()) + _dict['forms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetForms200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "forms": [Form.from_dict(_item) for _item in obj["forms"]] if obj.get("forms") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_identity_proofing_results200_response.py b/sailpoint/nerm/models/get_identity_proofing_results200_response.py new file mode 100644 index 000000000..f4ac3bc34 --- /dev/null +++ b/sailpoint/nerm/models/get_identity_proofing_results200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.identity_proofing_result import IdentityProofingResult +from sailpoint.nerm.models.metadata import Metadata +from typing import Optional, Set +from typing_extensions import Self + +class GetIdentityProofingResults200Response(BaseModel): + """ + GetIdentityProofingResults200Response + """ # noqa: E501 + identity_proofing_results: Optional[List[IdentityProofingResult]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["identity_proofing_results", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetIdentityProofingResults200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in identity_proofing_results (list) + _items = [] + if self.identity_proofing_results: + for _item_identity_proofing_results in self.identity_proofing_results: + if _item_identity_proofing_results: + _items.append(_item_identity_proofing_results.to_dict()) + _dict['identity_proofing_results'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetIdentityProofingResults200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "identity_proofing_results": [IdentityProofingResult.from_dict(_item) for _item in obj["identity_proofing_results"]] if obj.get("identity_proofing_results") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_job_status200_response.py b/sailpoint/nerm/models/get_job_status200_response.py new file mode 100644 index 000000000..4d86fce8d --- /dev/null +++ b/sailpoint/nerm/models/get_job_status200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.get_job_status200_response_job_data_inner import GetJobStatus200ResponseJobDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetJobStatus200Response(BaseModel): + """ + GetJobStatus200Response + """ # noqa: E501 + uid: Optional[StrictStr] = None + status: Optional[StrictStr] = None + job_type: Optional[StrictStr] = None + job_data: Optional[List[GetJobStatus200ResponseJobDataInner]] = None + __properties: ClassVar[List[str]] = ["uid", "status", "job_type", "job_data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetJobStatus200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in job_data (list) + _items = [] + if self.job_data: + for _item_job_data in self.job_data: + if _item_job_data: + _items.append(_item_job_data.to_dict()) + _dict['job_data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetJobStatus200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "status": obj.get("status"), + "job_type": obj.get("job_type"), + "job_data": [GetJobStatus200ResponseJobDataInner.from_dict(_item) for _item in obj["job_data"]] if obj.get("job_data") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_job_status200_response_job_data_inner.py b/sailpoint/nerm/models/get_job_status200_response_job_data_inner.py new file mode 100644 index 000000000..758d329b6 --- /dev/null +++ b/sailpoint/nerm/models/get_job_status200_response_job_data_inner.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetJobStatus200ResponseJobDataInner(BaseModel): + """ + GetJobStatus200ResponseJobDataInner + """ # noqa: E501 + user_id: Optional[StrictStr] = None + manager_id: Optional[StrictStr] = None + errors: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["user_id", "manager_id", "errors"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetJobStatus200ResponseJobDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetJobStatus200ResponseJobDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "manager_id": obj.get("manager_id"), + "errors": obj.get("errors") + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_page_content_translation200_response.py b/sailpoint/nerm/models/get_page_content_translation200_response.py new file mode 100644 index 000000000..ee03ddddc --- /dev/null +++ b/sailpoint/nerm/models/get_page_content_translation200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPageContentTranslation200Response(BaseModel): + """ + GetPageContentTranslation200Response + """ # noqa: E501 + page_content_translation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_content_translation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPageContentTranslation200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_content_translation + if self.page_content_translation: + _dict['page_content_translation'] = self.page_content_translation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPageContentTranslation200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_content_translation": PageContentTranslation.from_dict(obj["page_content_translation"]) if obj.get("page_content_translation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_page_contents200_response.py b/sailpoint/nerm/models/get_page_contents200_response.py new file mode 100644 index 000000000..9f5c8f9dd --- /dev/null +++ b/sailpoint/nerm/models/get_page_contents200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPageContents200Response(BaseModel): + """ + GetPageContents200Response + """ # noqa: E501 + page: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPageContents200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page + if self.page: + _dict['page'] = self.page.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPageContents200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page": PageContent.from_dict(obj["page"]) if obj.get("page") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_page_elements200_response.py b/sailpoint/nerm/models/get_page_elements200_response.py new file mode 100644 index 000000000..548fb9cb9 --- /dev/null +++ b/sailpoint/nerm/models/get_page_elements200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPageElements200Response(BaseModel): + """ + GetPageElements200Response + """ # noqa: E501 + page_element: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_element"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPageElements200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_element + if self.page_element: + _dict['page_element'] = self.page_element.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPageElements200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_element": PageElement.from_dict(obj["page_element"]) if obj.get("page_element") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_profile_type_attributes200_response.py b/sailpoint/nerm/models/get_profile_type_attributes200_response.py new file mode 100644 index 000000000..86be6388c --- /dev/null +++ b/sailpoint/nerm/models/get_profile_type_attributes200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetProfileTypeAttributes200Response(BaseModel): + """ + GetProfileTypeAttributes200Response + """ # noqa: E501 + profile_type_attributes: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile_type_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProfileTypeAttributes200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile_type_attributes + if self.profile_type_attributes: + _dict['profile_type_attributes'] = self.profile_type_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProfileTypeAttributes200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_attributes": ProfileTypeAttributes.from_dict(obj["profile_type_attributes"]) if obj.get("profile_type_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_profile_type_attributes_sort_parameter.py b/sailpoint/nerm/models/get_profile_type_attributes_sort_parameter.py new file mode 100644 index 000000000..2300a7d47 --- /dev/null +++ b/sailpoint/nerm/models/get_profile_type_attributes_sort_parameter.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetProfileTypeAttributesSortParameter(BaseModel): + """ + GetProfileTypeAttributesSortParameter + """ # noqa: E501 + attr: Optional[StrictStr] = None + order: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["attr", "order"] + + @field_validator('order') + def order_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['asc', 'desc']): + warnings.warn(f"must be one of enum values ('asc', 'desc') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProfileTypeAttributesSortParameter from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProfileTypeAttributesSortParameter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "attr": obj.get("attr"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_profile_types200_response.py b/sailpoint/nerm/models/get_profile_types200_response.py new file mode 100644 index 000000000..34f044c13 --- /dev/null +++ b/sailpoint/nerm/models/get_profile_types200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.profile_type import ProfileType +from typing import Optional, Set +from typing_extensions import Self + +class GetProfileTypes200Response(BaseModel): + """ + GetProfileTypes200Response + """ # noqa: E501 + profile_types: Optional[List[ProfileType]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["profile_types", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProfileTypes200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profile_types (list) + _items = [] + if self.profile_types: + for _item_profile_types in self.profile_types: + if _item_profile_types: + _items.append(_item_profile_types.to_dict()) + _dict['profile_types'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProfileTypes200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_types": [ProfileType.from_dict(_item) for _item in obj["profile_types"]] if obj.get("profile_types") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_risk_level200_response.py b/sailpoint/nerm/models/get_risk_level200_response.py new file mode 100644 index 000000000..1fe3a290a --- /dev/null +++ b/sailpoint/nerm/models/get_risk_level200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRiskLevel200Response(BaseModel): + """ + GetRiskLevel200Response + """ # noqa: E501 + risk_level: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["risk_level"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRiskLevel200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of risk_level + if self.risk_level: + _dict['risk_level'] = self.risk_level.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRiskLevel200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "risk_level": RiskLevel.from_dict(obj["risk_level"]) if obj.get("risk_level") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_risk_levels200_response.py b/sailpoint/nerm/models/get_risk_levels200_response.py new file mode 100644 index 000000000..92a877d7e --- /dev/null +++ b/sailpoint/nerm/models/get_risk_levels200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.risk_level import RiskLevel +from typing import Optional, Set +from typing_extensions import Self + +class GetRiskLevels200Response(BaseModel): + """ + GetRiskLevels200Response + """ # noqa: E501 + risk_levels: Optional[List[RiskLevel]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["risk_levels", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRiskLevels200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in risk_levels (list) + _items = [] + if self.risk_levels: + for _item_risk_levels in self.risk_levels: + if _item_risk_levels: + _items.append(_item_risk_levels.to_dict()) + _dict['risk_levels'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRiskLevels200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "risk_levels": [RiskLevel.from_dict(_item) for _item in obj["risk_levels"]] if obj.get("risk_levels") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_risk_score200_response.py b/sailpoint/nerm/models/get_risk_score200_response.py new file mode 100644 index 000000000..176233735 --- /dev/null +++ b/sailpoint/nerm/models/get_risk_score200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRiskScore200Response(BaseModel): + """ + GetRiskScore200Response + """ # noqa: E501 + risk_score: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["risk_score"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRiskScore200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of risk_score + if self.risk_score: + _dict['risk_score'] = self.risk_score.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRiskScore200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "risk_score": RiskScore.from_dict(obj["risk_score"]) if obj.get("risk_score") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_risk_scores200_response.py b/sailpoint/nerm/models/get_risk_scores200_response.py new file mode 100644 index 000000000..0901feb88 --- /dev/null +++ b/sailpoint/nerm/models/get_risk_scores200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.risk_score import RiskScore +from typing import Optional, Set +from typing_extensions import Self + +class GetRiskScores200Response(BaseModel): + """ + GetRiskScores200Response + """ # noqa: E501 + risk_scores: Optional[List[RiskScore]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["risk_scores", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRiskScores200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in risk_scores (list) + _items = [] + if self.risk_scores: + for _item_risk_scores in self.risk_scores: + if _item_risk_scores: + _items.append(_item_risk_scores.to_dict()) + _dict['risk_scores'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRiskScores200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "risk_scores": [RiskScore.from_dict(_item) for _item in obj["risk_scores"]] if obj.get("risk_scores") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_role_profiles200_response.py b/sailpoint/nerm/models/get_role_profiles200_response.py new file mode 100644 index 000000000..b69080e87 --- /dev/null +++ b/sailpoint/nerm/models/get_role_profiles200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.role_profile import RoleProfile +from typing import Optional, Set +from typing_extensions import Self + +class GetRoleProfiles200Response(BaseModel): + """ + GetRoleProfiles200Response + """ # noqa: E501 + role_profiles: Optional[List[RoleProfile]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["role_profiles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoleProfiles200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in role_profiles (list) + _items = [] + if self.role_profiles: + for _item_role_profiles in self.role_profiles: + if _item_role_profiles: + _items.append(_item_role_profiles.to_dict()) + _dict['role_profiles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoleProfiles200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_profiles": [RoleProfile.from_dict(_item) for _item in obj["role_profiles"]] if obj.get("role_profiles") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_roles200_response.py b/sailpoint/nerm/models/get_roles200_response.py new file mode 100644 index 000000000..3bd186be4 --- /dev/null +++ b/sailpoint/nerm/models/get_roles200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.role import Role +from typing import Optional, Set +from typing_extensions import Self + +class GetRoles200Response(BaseModel): + """ + GetRoles200Response + """ # noqa: E501 + roles: Optional[List[Role]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["roles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoles200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoles200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roles": [Role.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_schema_mapped_profiles_collection200_response.py b/sailpoint/nerm/models/get_schema_mapped_profiles_collection200_response.py new file mode 100644 index 000000000..da251a4d6 --- /dev/null +++ b/sailpoint/nerm/models/get_schema_mapped_profiles_collection200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata_with_after_id import MetadataWithAfterId +from sailpoint.nerm.models.profile import Profile +from typing import Optional, Set +from typing_extensions import Self + +class GetSchemaMappedProfilesCollection200Response(BaseModel): + """ + GetSchemaMappedProfilesCollection200Response + """ # noqa: E501 + profiles: Optional[List[Profile]] = None + metadata: Optional[MetadataWithAfterId] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["profiles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSchemaMappedProfilesCollection200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profiles (list) + _items = [] + if self.profiles: + for _item_profiles in self.profiles: + if _item_profiles: + _items.append(_item_profiles.to_dict()) + _dict['profiles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSchemaMappedProfilesCollection200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profiles": [Profile.from_dict(_item) for _item in obj["profiles"]] if obj.get("profiles") is not None else None, + "_metadata": MetadataWithAfterId.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_single_schema_mapped_profile200_response.py b/sailpoint/nerm/models/get_single_schema_mapped_profile200_response.py new file mode 100644 index 000000000..318ff291b --- /dev/null +++ b/sailpoint/nerm/models/get_single_schema_mapped_profile200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetSingleSchemaMappedProfile200Response(BaseModel): + """ + GetSingleSchemaMappedProfile200Response + """ # noqa: E501 + profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSingleSchemaMappedProfile200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile + if self.profile: + _dict['profile'] = self.profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSingleSchemaMappedProfile200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile": Profile.from_dict(obj["profile"]) if obj.get("profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_system_roles200_response.py b/sailpoint/nerm/models/get_system_roles200_response.py new file mode 100644 index 000000000..1af61f829 --- /dev/null +++ b/sailpoint/nerm/models/get_system_roles200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.system_role import SystemRole +from typing import Optional, Set +from typing_extensions import Self + +class GetSystemRoles200Response(BaseModel): + """ + GetSystemRoles200Response + """ # noqa: E501 + system_roles: Optional[List[SystemRole]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["system_roles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSystemRoles200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in system_roles (list) + _items = [] + if self.system_roles: + for _item_system_roles in self.system_roles: + if _item_system_roles: + _items.append(_item_system_roles.to_dict()) + _dict['system_roles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSystemRoles200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "system_roles": [SystemRole.from_dict(_item) for _item in obj["system_roles"]] if obj.get("system_roles") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_user_managers200_response.py b/sailpoint/nerm/models/get_user_managers200_response.py new file mode 100644 index 000000000..ca10895d9 --- /dev/null +++ b/sailpoint/nerm/models/get_user_managers200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.user_manager import UserManager +from typing import Optional, Set +from typing_extensions import Self + +class GetUserManagers200Response(BaseModel): + """ + GetUserManagers200Response + """ # noqa: E501 + user_managers: Optional[List[UserManager]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["user_managers", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserManagers200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_managers (list) + _items = [] + if self.user_managers: + for _item_user_managers in self.user_managers: + if _item_user_managers: + _items.append(_item_user_managers.to_dict()) + _dict['user_managers'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserManagers200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_managers": [UserManager.from_dict(_item) for _item in obj["user_managers"]] if obj.get("user_managers") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_user_profiles200_response.py b/sailpoint/nerm/models/get_user_profiles200_response.py new file mode 100644 index 000000000..75c8b412e --- /dev/null +++ b/sailpoint/nerm/models/get_user_profiles200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.user_profile import UserProfile +from typing import Optional, Set +from typing_extensions import Self + +class GetUserProfiles200Response(BaseModel): + """ + GetUserProfiles200Response + """ # noqa: E501 + user_profiles: Optional[List[UserProfile]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["user_profiles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserProfiles200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_profiles (list) + _items = [] + if self.user_profiles: + for _item_user_profiles in self.user_profiles: + if _item_user_profiles: + _items.append(_item_user_profiles.to_dict()) + _dict['user_profiles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserProfiles200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_profiles": [UserProfile.from_dict(_item) for _item in obj["user_profiles"]] if obj.get("user_profiles") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_user_roles200_response.py b/sailpoint/nerm/models/get_user_roles200_response.py new file mode 100644 index 000000000..3fc3233c3 --- /dev/null +++ b/sailpoint/nerm/models/get_user_roles200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.user_role import UserRole +from typing import Optional, Set +from typing_extensions import Self + +class GetUserRoles200Response(BaseModel): + """ + GetUserRoles200Response + """ # noqa: E501 + user_roles: Optional[List[UserRole]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["user_roles", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserRoles200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_roles (list) + _items = [] + if self.user_roles: + for _item_user_roles in self.user_roles: + if _item_user_roles: + _items.append(_item_user_roles.to_dict()) + _dict['user_roles'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserRoles200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_roles": [UserRole.from_dict(_item) for _item in obj["user_roles"]] if obj.get("user_roles") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_users200_response.py b/sailpoint/nerm/models/get_users200_response.py new file mode 100644 index 000000000..588c2ea54 --- /dev/null +++ b/sailpoint/nerm/models/get_users200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.user import User +from typing import Optional, Set +from typing_extensions import Self + +class GetUsers200Response(BaseModel): + """ + GetUsers200Response + """ # noqa: E501 + users: Optional[List[User]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["users", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUsers200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in users (list) + _items = [] + if self.users: + for _item_users in self.users: + if _item_users: + _items.append(_item_users.to_dict()) + _dict['users'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUsers200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "users": [User.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_workflow_actions200_response.py b/sailpoint/nerm/models/get_workflow_actions200_response.py new file mode 100644 index 000000000..2b908beaf --- /dev/null +++ b/sailpoint/nerm/models/get_workflow_actions200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetWorkflowActions200Response(BaseModel): + """ + GetWorkflowActions200Response + """ # noqa: E501 + workflow_actions: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_actions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWorkflowActions200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_actions + if self.workflow_actions: + _dict['workflow_actions'] = self.workflow_actions.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWorkflowActions200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_actions": WorkflowAction.from_dict(obj["workflow_actions"]) if obj.get("workflow_actions") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/get_workflow_sessions200_response.py b/sailpoint/nerm/models/get_workflow_sessions200_response.py new file mode 100644 index 000000000..353d853ee --- /dev/null +++ b/sailpoint/nerm/models/get_workflow_sessions200_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.metadata import Metadata +from sailpoint.nerm.models.workflow_session import WorkflowSession +from typing import Optional, Set +from typing_extensions import Self + +class GetWorkflowSessions200Response(BaseModel): + """ + GetWorkflowSessions200Response + """ # noqa: E501 + workflow_sessions: Optional[List[WorkflowSession]] = None + metadata: Optional[Metadata] = Field(default=None, alias="_metadata") + __properties: ClassVar[List[str]] = ["workflow_sessions", "_metadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWorkflowSessions200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in workflow_sessions (list) + _items = [] + if self.workflow_sessions: + for _item_workflow_sessions in self.workflow_sessions: + if _item_workflow_sessions: + _items.append(_item_workflow_sessions.to_dict()) + _dict['workflow_sessions'] = _items + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['_metadata'] = self.metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWorkflowSessions200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_sessions": [WorkflowSession.from_dict(_item) for _item in obj["workflow_sessions"]] if obj.get("workflow_sessions") is not None else None, + "_metadata": Metadata.from_dict(obj["_metadata"]) if obj.get("_metadata") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/identity_proofing_action.py b/sailpoint/nerm/models/identity_proofing_action.py new file mode 100644 index 000000000..d6b5b4fdd --- /dev/null +++ b/sailpoint/nerm/models/identity_proofing_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class IdentityProofingAction(BaseModel): + """ + IdentityProofingAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of IdentityProofingAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of IdentityProofingAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/identity_proofing_result.py b/sailpoint/nerm/models/identity_proofing_result.py new file mode 100644 index 000000000..9c028ac82 --- /dev/null +++ b/sailpoint/nerm/models/identity_proofing_result.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class IdentityProofingResult(BaseModel): + """ + IdentityProofingResult + """ # noqa: E501 + id: Optional[StrictStr] = None + identity_proofing_action_id: Optional[StrictStr] = None + workflow_session_id: Optional[StrictStr] = None + profile_id: Optional[StrictStr] = None + proofing_workflow: Optional[StrictStr] = None + result: Optional[StrictStr] = None + proofing_attributes: Optional[Dict[str, StrictStr]] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["id", "identity_proofing_action_id", "workflow_session_id", "profile_id", "proofing_workflow", "result", "proofing_attributes", "created_at", "updated_at"] + + @field_validator('result') + def result_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['pending', 'pass', 'fail']): + warnings.warn(f"must be one of enum values ('pending', 'pass', 'fail') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of IdentityProofingResult from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of IdentityProofingResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "identity_proofing_action_id": obj.get("identity_proofing_action_id"), + "workflow_session_id": obj.get("workflow_session_id"), + "profile_id": obj.get("profile_id"), + "proofing_workflow": obj.get("proofing_workflow"), + "result": obj.get("result"), + "proofing_attributes": obj.get("proofing_attributes"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/invalid_json.py b/sailpoint/nerm/models/invalid_json.py new file mode 100644 index 000000000..0682fe932 --- /dev/null +++ b/sailpoint/nerm/models/invalid_json.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class InvalidJson(BaseModel): + """ + InvalidJson + """ # noqa: E501 + error: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InvalidJson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InvalidJson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/models/invitation_action.py b/sailpoint/nerm/models/invitation_action.py new file mode 100644 index 000000000..259080758 --- /dev/null +++ b/sailpoint/nerm/models/invitation_action.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.invitation_action_configuration_attributes import InvitationActionConfigurationAttributes +from sailpoint.nerm.models.invitation_action_workflow_action_email_attributes import InvitationActionWorkflowActionEmailAttributes +from typing import Optional, Set +from typing_extensions import Self + +class InvitationAction(BaseModel): + """ + InvitationAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + configuration_attributes: Optional[InvitationActionConfigurationAttributes] = None + workflow_action_email_attributes: Optional[InvitationActionWorkflowActionEmailAttributes] = None + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "configuration_attributes", "workflow_action_email_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InvitationAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of configuration_attributes + if self.configuration_attributes: + _dict['configuration_attributes'] = self.configuration_attributes.to_dict() + # override the default output from pydantic by calling `to_dict()` of workflow_action_email_attributes + if self.workflow_action_email_attributes: + _dict['workflow_action_email_attributes'] = self.workflow_action_email_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InvitationAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "configuration_attributes": InvitationActionConfigurationAttributes.from_dict(obj["configuration_attributes"]) if obj.get("configuration_attributes") is not None else None, + "workflow_action_email_attributes": InvitationActionWorkflowActionEmailAttributes.from_dict(obj["workflow_action_email_attributes"]) if obj.get("workflow_action_email_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/invitation_action_configuration_attributes.py b/sailpoint/nerm/models/invitation_action_configuration_attributes.py new file mode 100644 index 000000000..00580bb30 --- /dev/null +++ b/sailpoint/nerm/models/invitation_action_configuration_attributes.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class InvitationActionConfigurationAttributes(BaseModel): + """ + InvitationActionConfigurationAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + wait_for_completion: Optional[StrictBool] = Field(default=None, description="If the invitation action should pause the parent workflow to wait for completion.") + return_profile: Optional[StrictBool] = Field(default=None, description="If the invitation action should return a profile.") + portal_id: Optional[StrictStr] = Field(default=None, description="the id of the portal.") + registration_workflow_id: Optional[StrictStr] = Field(default=None, description="the id of the registration workflow.") + email_attribute_id: Optional[StrictStr] = Field(default=None, description="the id of the email attribute.") + validate_completed_registration: Optional[StrictBool] = Field(default=None, description="If the action should validate against completed registrations by email address.") + validate_open_registration: Optional[StrictBool] = Field(default=None, description="If the action should validate against open registrations by email address.") + __properties: ClassVar[List[str]] = ["id", "wait_for_completion", "return_profile", "portal_id", "registration_workflow_id", "email_attribute_id", "validate_completed_registration", "validate_open_registration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InvitationActionConfigurationAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InvitationActionConfigurationAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "wait_for_completion": obj.get("wait_for_completion"), + "return_profile": obj.get("return_profile"), + "portal_id": obj.get("portal_id"), + "registration_workflow_id": obj.get("registration_workflow_id"), + "email_attribute_id": obj.get("email_attribute_id"), + "validate_completed_registration": obj.get("validate_completed_registration"), + "validate_open_registration": obj.get("validate_open_registration") + }) + return _obj + + diff --git a/sailpoint/nerm/models/invitation_action_workflow_action_email_attributes.py b/sailpoint/nerm/models/invitation_action_workflow_action_email_attributes.py new file mode 100644 index 000000000..d77d9a7ba --- /dev/null +++ b/sailpoint/nerm/models/invitation_action_workflow_action_email_attributes.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class InvitationActionWorkflowActionEmailAttributes(BaseModel): + """ + InvitationActionWorkflowActionEmailAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + workflow_action_id: Optional[StrictStr] = Field(default=None, description="the id of the workflow action.") + email_id: Optional[StrictStr] = Field(default=None, description="the id of the email.") + type: Optional[StrictStr] = Field(default=None, description="the type of email.") + __properties: ClassVar[List[str]] = ["id", "workflow_action_id", "email_id", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['StandardEmail', 'PerformerNotificationEmail', 'ApprovalEmail', 'RejectionEmail']): + warnings.warn(f"must be one of enum values ('StandardEmail', 'PerformerNotificationEmail', 'ApprovalEmail', 'RejectionEmail') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InvitationActionWorkflowActionEmailAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InvitationActionWorkflowActionEmailAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "workflow_action_id": obj.get("workflow_action_id"), + "email_id": obj.get("email_id"), + "type": obj.get("type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/job.py b/sailpoint/nerm/models/job.py new file mode 100644 index 000000000..d13d0b57c --- /dev/null +++ b/sailpoint/nerm/models/job.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.job_job_status import JobJobStatus +from typing import Optional, Set +from typing_extensions import Self + +class Job(BaseModel): + """ + Job + """ # noqa: E501 + info: Optional[StrictStr] = None + job_status: Optional[JobJobStatus] = None + status: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["info", "job_status", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Job from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of job_status + if self.job_status: + _dict['job_status'] = self.job_status.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Job from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "info": obj.get("info"), + "job_status": JobJobStatus.from_dict(obj["job_status"]) if obj.get("job_status") is not None else None, + "status": obj.get("status") + }) + return _obj + + diff --git a/sailpoint/nerm/models/job_job_status.py b/sailpoint/nerm/models/job_job_status.py new file mode 100644 index 000000000..a05c3abb8 --- /dev/null +++ b/sailpoint/nerm/models/job_job_status.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class JobJobStatus(BaseModel): + """ + JobJobStatus + """ # noqa: E501 + job_id: Optional[StrictStr] = None + status: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["job_id", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JobJobStatus from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of JobJobStatus from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "job_id": obj.get("job_id"), + "status": obj.get("status") + }) + return _obj + + diff --git a/sailpoint/nerm/models/language.py b/sailpoint/nerm/models/language.py new file mode 100644 index 000000000..30958d3b7 --- /dev/null +++ b/sailpoint/nerm/models/language.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Language(BaseModel): + """ + Language + """ # noqa: E501 + default: Optional[StrictBool] = Field(default=None, description="Set default to True to set a default language, to set another language to default, set default to True on the target language and the current default will become disabled") + enabled: Optional[StrictBool] = Field(default=None, description="True when the language is enabled, False when it is not") + locale: Optional[StrictStr] = Field(default=None, description="The locale string for the language, current options are- en, fr, es, de, fr-CA") + __properties: ClassVar[List[str]] = ["default", "enabled", "locale"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Language from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Language from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "default": obj.get("default"), + "enabled": obj.get("enabled"), + "locale": obj.get("locale") + }) + return _obj + + diff --git a/sailpoint/nerm/models/ldap_action.py b/sailpoint/nerm/models/ldap_action.py new file mode 100644 index 000000000..d09e6054f --- /dev/null +++ b/sailpoint/nerm/models/ldap_action.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes import LdapActionLdapActionUserRolesAttributes +from sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes import LdapActionWorkflowActionDirectoryGroupsAttributes +from sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes import LdapActionWorkflowActionValueBuildersAttributes +from typing import Optional, Set +from typing_extensions import Self + +class LdapAction(BaseModel): + """ + LdapAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + store_type: StrictStr = Field(description="the type of store.") + ldap_action_user_roles_attributes: Optional[LdapActionLdapActionUserRolesAttributes] = None + workflow_action_value_builders_attributes: Optional[LdapActionWorkflowActionValueBuildersAttributes] = None + workflow_action_directory_groups_attributes: Optional[LdapActionWorkflowActionDirectoryGroupsAttributes] = None + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "store_type", "ldap_action_user_roles_attributes", "workflow_action_value_builders_attributes", "workflow_action_directory_groups_attributes"] + + @field_validator('store_type') + def store_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Local', 'Directory']): + warnings.warn(f"must be one of enum values ('Local', 'Directory') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LdapAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of ldap_action_user_roles_attributes + if self.ldap_action_user_roles_attributes: + _dict['ldap_action_user_roles_attributes'] = self.ldap_action_user_roles_attributes.to_dict() + # override the default output from pydantic by calling `to_dict()` of workflow_action_value_builders_attributes + if self.workflow_action_value_builders_attributes: + _dict['workflow_action_value_builders_attributes'] = self.workflow_action_value_builders_attributes.to_dict() + # override the default output from pydantic by calling `to_dict()` of workflow_action_directory_groups_attributes + if self.workflow_action_directory_groups_attributes: + _dict['workflow_action_directory_groups_attributes'] = self.workflow_action_directory_groups_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LdapAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "store_type": obj.get("store_type"), + "ldap_action_user_roles_attributes": LdapActionLdapActionUserRolesAttributes.from_dict(obj["ldap_action_user_roles_attributes"]) if obj.get("ldap_action_user_roles_attributes") is not None else None, + "workflow_action_value_builders_attributes": LdapActionWorkflowActionValueBuildersAttributes.from_dict(obj["workflow_action_value_builders_attributes"]) if obj.get("workflow_action_value_builders_attributes") is not None else None, + "workflow_action_directory_groups_attributes": LdapActionWorkflowActionDirectoryGroupsAttributes.from_dict(obj["workflow_action_directory_groups_attributes"]) if obj.get("workflow_action_directory_groups_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/ldap_action_ldap_action_user_roles_attributes.py b/sailpoint/nerm/models/ldap_action_ldap_action_user_roles_attributes.py new file mode 100644 index 000000000..5f744532f --- /dev/null +++ b/sailpoint/nerm/models/ldap_action_ldap_action_user_roles_attributes.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LdapActionLdapActionUserRolesAttributes(BaseModel): + """ + LdapActionLdapActionUserRolesAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + role_id: Optional[StrictStr] = Field(default=None, description="the id of the role.") + __properties: ClassVar[List[str]] = ["id", "role_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LdapActionLdapActionUserRolesAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LdapActionLdapActionUserRolesAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "role_id": obj.get("role_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/ldap_action_workflow_action_directory_groups_attributes.py b/sailpoint/nerm/models/ldap_action_workflow_action_directory_groups_attributes.py new file mode 100644 index 000000000..7860f829c --- /dev/null +++ b/sailpoint/nerm/models/ldap_action_workflow_action_directory_groups_attributes.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LdapActionWorkflowActionDirectoryGroupsAttributes(BaseModel): + """ + LdapActionWorkflowActionDirectoryGroupsAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + directory_id: Optional[StrictStr] = Field(default=None, description="the id of the directory.") + group_label: Optional[StrictStr] = Field(default=None, description="the group label.") + group_dn: Optional[StrictStr] = Field(default=None, description="the group dn.") + __properties: ClassVar[List[str]] = ["id", "directory_id", "group_label", "group_dn"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LdapActionWorkflowActionDirectoryGroupsAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LdapActionWorkflowActionDirectoryGroupsAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "directory_id": obj.get("directory_id"), + "group_label": obj.get("group_label"), + "group_dn": obj.get("group_dn") + }) + return _obj + + diff --git a/sailpoint/nerm/models/ldap_action_workflow_action_value_builders_attributes.py b/sailpoint/nerm/models/ldap_action_workflow_action_value_builders_attributes.py new file mode 100644 index 000000000..98a6fc266 --- /dev/null +++ b/sailpoint/nerm/models/ldap_action_workflow_action_value_builders_attributes.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LdapActionWorkflowActionValueBuildersAttributes(BaseModel): + """ + LdapActionWorkflowActionValueBuildersAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + workflow_action_id: Optional[StrictStr] = Field(default=None, description="the id of the workflow action.") + value_builder_id: Optional[StrictStr] = Field(default=None, description="the id of the value builder.") + position: Optional[StrictInt] = Field(default=None, description="the position of the value builder attribute.") + __properties: ClassVar[List[str]] = ["id", "workflow_action_id", "value_builder_id", "position"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LdapActionWorkflowActionValueBuildersAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LdapActionWorkflowActionValueBuildersAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "workflow_action_id": obj.get("workflow_action_id"), + "value_builder_id": obj.get("value_builder_id"), + "position": obj.get("position") + }) + return _obj + + diff --git a/sailpoint/nerm/models/login_workflow.py b/sailpoint/nerm/models/login_workflow.py new file mode 100644 index 000000000..8181de876 --- /dev/null +++ b/sailpoint/nerm/models/login_workflow.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.login_workflow_options import LoginWorkflowOptions +from typing import Optional, Set +from typing_extensions import Self + +class LoginWorkflow(BaseModel): + """ + LoginWorkflow + """ # noqa: E501 + profile_type_id: StrictStr = Field(description="The profile type the workflow effects.") + status: StrictStr = Field(description="Whether or not the workflow is enabled or disabled.") + uid: StrictStr = Field(description="The user-specified identifier of the workflow.") + name: StrictStr = Field(description="Name of the workflow") + options: Optional[LoginWorkflowOptions] = None + disable_failure_email_notifications: Optional[StrictBool] = Field(default=None, description="When honored at runtime, suppresses failure email notifications for this workflow's sessions.") + __properties: ClassVar[List[str]] = ["profile_type_id", "status", "uid", "name", "options", "disable_failure_email_notifications"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Enabled', 'Disabled']): + warnings.warn(f"must be one of enum values ('Enabled', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LoginWorkflow from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of options + if self.options: + _dict['options'] = self.options.to_dict() + # set to None if disable_failure_email_notifications (nullable) is None + # and model_fields_set contains the field + if self.disable_failure_email_notifications is None and "disable_failure_email_notifications" in self.model_fields_set: + _dict['disable_failure_email_notifications'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LoginWorkflow from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "options": LoginWorkflowOptions.from_dict(obj["options"]) if obj.get("options") is not None else None, + "disable_failure_email_notifications": obj.get("disable_failure_email_notifications") + }) + return _obj + + diff --git a/sailpoint/nerm/models/login_workflow_options.py b/sailpoint/nerm/models/login_workflow_options.py new file mode 100644 index 000000000..d7c90c2e9 --- /dev/null +++ b/sailpoint/nerm/models/login_workflow_options.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class LoginWorkflowOptions(BaseModel): + """ + LoginWorkflowOptions + """ # noqa: E501 + expiration_time: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Used for login/password reset for when the password will expire.") + __properties: ClassVar[List[str]] = ["expiration_time"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LoginWorkflowOptions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LoginWorkflowOptions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "expiration_time": obj.get("expiration_time") + }) + return _obj + + diff --git a/sailpoint/nerm/models/metadata.py b/sailpoint/nerm/models/metadata.py new file mode 100644 index 000000000..8f42fe354 --- /dev/null +++ b/sailpoint/nerm/models/metadata.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Metadata(BaseModel): + """ + Metadata + """ # noqa: E501 + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + total: Optional[StrictInt] = None + next: Optional[StrictStr] = None + previous: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["limit", "offset", "total", "next", "previous"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Metadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Metadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "total": obj.get("total"), + "next": obj.get("next"), + "previous": obj.get("previous") + }) + return _obj + + diff --git a/sailpoint/nerm/models/metadata_with_after_id.py b/sailpoint/nerm/models/metadata_with_after_id.py new file mode 100644 index 000000000..7c9087619 --- /dev/null +++ b/sailpoint/nerm/models/metadata_with_after_id.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class MetadataWithAfterId(BaseModel): + """ + MetadataWithAfterId + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The maximum number of records to return in the search") + offset: Optional[StrictInt] = Field(default=None, description="The number of records to skip before starting to return results.") + total: Optional[StrictInt] = Field(default=None, description="The total number of records available matching the search criteria.") + next: Optional[StrictStr] = Field(default=None, description="The ID of the first record in the next set of results") + previous: Optional[StrictStr] = Field(default=None, description="The ID of the last record in the previous set of results") + after_id: Optional[StrictStr] = Field(default=None, description="The ID from which the search will start, ignoring all records before it.") + __properties: ClassVar[List[str]] = ["limit", "offset", "total", "next", "previous", "after_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MetadataWithAfterId from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MetadataWithAfterId from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "total": obj.get("total"), + "next": obj.get("next"), + "previous": obj.get("previous"), + "after_id": obj.get("after_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/notification_action.py b/sailpoint/nerm/models/notification_action.py new file mode 100644 index 000000000..55ef667e0 --- /dev/null +++ b/sailpoint/nerm/models/notification_action.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.notification_action_workflow_action_email_attributes import NotificationActionWorkflowActionEmailAttributes +from typing import Optional, Set +from typing_extensions import Self + +class NotificationAction(BaseModel): + """ + NotificationAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + email_attribute_id: Optional[StrictStr] = Field(default=None, description="The attribute storing the email address for the workflow action.") + email_addresses: Optional[List[StrictStr]] = Field(default=None, description="The email addresses for the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + workflow_action_email_attributes: Optional[NotificationActionWorkflowActionEmailAttributes] = None + __properties: ClassVar[List[str]] = ["workflow_id", "description", "email_attribute_id", "email_addresses", "archived", "workflow_action_email_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NotificationAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_action_email_attributes + if self.workflow_action_email_attributes: + _dict['workflow_action_email_attributes'] = self.workflow_action_email_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NotificationAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "email_attribute_id": obj.get("email_attribute_id"), + "email_addresses": obj.get("email_addresses"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "workflow_action_email_attributes": NotificationActionWorkflowActionEmailAttributes.from_dict(obj["workflow_action_email_attributes"]) if obj.get("workflow_action_email_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/notification_action_workflow_action_email_attributes.py b/sailpoint/nerm/models/notification_action_workflow_action_email_attributes.py new file mode 100644 index 000000000..4db0da8d2 --- /dev/null +++ b/sailpoint/nerm/models/notification_action_workflow_action_email_attributes.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class NotificationActionWorkflowActionEmailAttributes(BaseModel): + """ + NotificationActionWorkflowActionEmailAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + workflow_action_id: Optional[StrictStr] = Field(default=None, description="the id of the workflow action.") + email_id: Optional[StrictStr] = Field(default=None, description="the id of the email.") + type: Optional[StrictStr] = Field(default=None, description="the type of email.") + __properties: ClassVar[List[str]] = ["id", "workflow_action_id", "email_id", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['StandardEmail']): + warnings.warn(f"must be one of enum values ('StandardEmail') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NotificationActionWorkflowActionEmailAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NotificationActionWorkflowActionEmailAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "workflow_action_id": obj.get("workflow_action_id"), + "email_id": obj.get("email_id"), + "type": obj.get("type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_content.py b/sailpoint/nerm/models/page_content.py new file mode 100644 index 000000000..714b260da --- /dev/null +++ b/sailpoint/nerm/models/page_content.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageContent(BaseModel): + """ + PageContent + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the page content") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + type: StrictStr = Field(description="The type of content on the page.") + content: Optional[StrictStr] = Field(default=None, description="The text content to present in this page content record.") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "uid", "type", "content", "created_at", "updated_at"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar']): + warnings.warn(f"must be one of enum values ('FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageContent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageContent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "content": obj.get("content"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_content1.py b/sailpoint/nerm/models/page_content1.py new file mode 100644 index 000000000..7e78bb8d1 --- /dev/null +++ b/sailpoint/nerm/models/page_content1.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageContent1(BaseModel): + """ + PageContent1 + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + type: StrictStr = Field(description="The type of content on the page.") + content: Optional[StrictStr] = Field(default=None, description="The text content to present in this page content record.") + __properties: ClassVar[List[str]] = ["uid", "type", "content"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar']): + warnings.warn(f"must be one of enum values ('FormHeading', 'LargeHeading', 'MediumHeading', 'SmallHeading', 'Paragraph', 'HtmlContainer', 'Owner', 'RequestProgressBar') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageContent1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageContent1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "type": obj.get("type"), + "content": obj.get("content") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_content_translation.py b/sailpoint/nerm/models/page_content_translation.py new file mode 100644 index 000000000..a49aef94f --- /dev/null +++ b/sailpoint/nerm/models/page_content_translation.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageContentTranslation(BaseModel): + """ + PageContentTranslation + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the page content") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + locale: Optional[StrictStr] = Field(default=None, description="The language locale this translation contains.") + value: Optional[StrictStr] = Field(default=None, description="The translated string to present in the user interface.") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "uid", "locale", "value", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageContentTranslation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageContentTranslation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "locale": obj.get("locale"), + "value": obj.get("value"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_content_translation1.py b/sailpoint/nerm/models/page_content_translation1.py new file mode 100644 index 000000000..ad2a92c48 --- /dev/null +++ b/sailpoint/nerm/models/page_content_translation1.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageContentTranslation1(BaseModel): + """ + PageContentTranslation1 + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + page_content_uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page content record this translation applies to; one of page_content_id or page_content_uid must be present.") + page_content_id: Optional[StrictStr] = Field(default=None, description="The id of the page content record this translation applies to; one of page_content_id or page_content_uid must be present.") + locale: Optional[StrictStr] = Field(default=None, description="The language locale this translation contains.") + value: Optional[StrictStr] = Field(default=None, description="The translated string to present in the user interface.") + __properties: ClassVar[List[str]] = ["uid", "page_content_uid", "page_content_id", "locale", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageContentTranslation1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageContentTranslation1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "page_content_uid": obj.get("page_content_uid"), + "page_content_id": obj.get("page_content_id"), + "locale": obj.get("locale"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_element.py b/sailpoint/nerm/models/page_element.py new file mode 100644 index 000000000..9870c380d --- /dev/null +++ b/sailpoint/nerm/models/page_element.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageElement(BaseModel): + """ + PageElement + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the page element") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + element_type: StrictStr = Field(description="The type of content on the page.") + page_uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page record this applies to; one of page_id or page_uid must be present.") + page_id: Optional[StrictStr] = Field(default=None, description="The id of the page record this applies to; one of page_id or page_uid must be present.") + element_uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present.") + element_id: Optional[StrictStr] = Field(default=None, description="The id of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present.") + order: Optional[StrictInt] = Field(default=None, description="The position of the attribute in the ProfileType's naming") + __properties: ClassVar[List[str]] = ["id", "uid", "element_type", "page_uid", "page_id", "element_uid", "element_id", "order"] + + @field_validator('element_type') + def element_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['PageContent', 'Form']): + warnings.warn(f"must be one of enum values ('PageContent', 'Form') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageElement from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageElement from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "element_type": obj.get("element_type"), + "page_uid": obj.get("page_uid"), + "page_id": obj.get("page_id"), + "element_uid": obj.get("element_uid"), + "element_id": obj.get("element_id"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/page_element1.py b/sailpoint/nerm/models/page_element1.py new file mode 100644 index 000000000..82c9ae57c --- /dev/null +++ b/sailpoint/nerm/models/page_element1.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PageElement1(BaseModel): + """ + PageElement1 + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the page content") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier for the record") + element_type: StrictStr = Field(description="The type of content on the page.") + page_uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page record this applies to; one of page_id or page_uid must be present.") + page_id: Optional[StrictStr] = Field(default=None, description="The id of the page record this applies to; one of page_id or page_uid must be present.") + element_uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present.") + element_id: Optional[StrictStr] = Field(default=None, description="The id of the record (Form or PageContent) this applies to; one of element_id or element_uid must be present.") + order: Optional[StrictInt] = Field(default=None, description="The ordinal position of the attribute in the user-interface page.") + __properties: ClassVar[List[str]] = ["id", "uid", "element_type", "page_uid", "page_id", "element_uid", "element_id", "order"] + + @field_validator('element_type') + def element_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['PageContent', 'Form']): + warnings.warn(f"must be one of enum values ('PageContent', 'Form') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PageElement1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageElement1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "element_type": obj.get("element_type"), + "page_uid": obj.get("page_uid"), + "page_id": obj.get("page_id"), + "element_uid": obj.get("element_uid"), + "element_id": obj.get("element_id"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/pages.py b/sailpoint/nerm/models/pages.py new file mode 100644 index 000000000..ea462c339 --- /dev/null +++ b/sailpoint/nerm/models/pages.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Pages(BaseModel): + """ + Pages + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page") + description: Optional[StrictStr] = Field(default=None, description="The description of the page") + name: Optional[StrictStr] = Field(default=None, description="The name of the page") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the page is archived") + id: Optional[StrictStr] = Field(default=None, description="The id of the form") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived", "id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Pages from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Pages from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived"), + "id": obj.get("id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/password_reset_action.py b/sailpoint/nerm/models/password_reset_action.py new file mode 100644 index 000000000..9455f4a83 --- /dev/null +++ b/sailpoint/nerm/models/password_reset_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PasswordResetAction(BaseModel): + """ + PasswordResetAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PasswordResetAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PasswordResetAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/patch_language_request.py b/sailpoint/nerm/models/patch_language_request.py new file mode 100644 index 000000000..974b0a7ea --- /dev/null +++ b/sailpoint/nerm/models/patch_language_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PatchLanguageRequest(BaseModel): + """ + PatchLanguageRequest + """ # noqa: E501 + language: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["language"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PatchLanguageRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of language + if self.language: + _dict['language'] = self.language.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PatchLanguageRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "language": Language.from_dict(obj["language"]) if obj.get("language") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/permission.py b/sailpoint/nerm/models/permission.py new file mode 100644 index 000000000..f4dcc3392 --- /dev/null +++ b/sailpoint/nerm/models/permission.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Permission(BaseModel): + """ + Permission + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the permission") + role_id: Optional[StrictStr] = Field(default=None, description="The id of the role") + value: Optional[StrictInt] = Field(default=None, description="The permissions level of access") + subject: Optional[StrictInt] = Field(default=None, description="The type of permission") + subject_id: Optional[StrictStr] = Field(default=None, description="The ID of the object that the permission is giving access to") + __properties: ClassVar[List[str]] = ["id", "role_id", "value", "subject", "subject_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Permission from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Permission from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "role_id": obj.get("role_id"), + "value": obj.get("value"), + "subject": obj.get("subject"), + "subject_id": obj.get("subject_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/permission1.py b/sailpoint/nerm/models/permission1.py new file mode 100644 index 000000000..99318060d --- /dev/null +++ b/sailpoint/nerm/models/permission1.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Permission1(BaseModel): + """ + Permission1 + """ # noqa: E501 + role_id: Optional[StrictStr] = Field(default=None, description="The id of the role") + subject_id: Optional[StrictStr] = Field(default=None, description="The ID of the object that the permission is giving access to") + value: Optional[StrictInt] = Field(default=None, description="The permissions level of access") + subject: Optional[StrictInt] = Field(default=None, description="The type of permission") + __properties: ClassVar[List[str]] = ["role_id", "subject_id", "value", "subject"] + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set([1, 2, 3, 4, 5, 6, 7]): + warnings.warn(f"must be one of enum values (1, 2, 3, 4, 5, 6, 7) unknown value: {value}") + return value + + @field_validator('subject') + def subject_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]): + warnings.warn(f"must be one of enum values (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23) unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Permission1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Permission1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_id": obj.get("role_id"), + "subject_id": obj.get("subject_id"), + "value": obj.get("value"), + "subject": obj.get("subject") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile.py b/sailpoint/nerm/models/profile.py new file mode 100644 index 000000000..cea89b513 --- /dev/null +++ b/sailpoint/nerm/models/profile.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Profile(BaseModel): + """ + Profile + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The objects ID") + uid: Optional[StrictStr] = Field(default=None, description="The objects UID") + name: Optional[StrictStr] = Field(default=None, description="This is the name of the profile.") + profile_type_id: Optional[StrictStr] = Field(default=None, description="This is the ID of the profile type the profile belongs to") + status: Optional[StrictStr] = Field(default=None, description="This is the status of the profile") + id_proofing_status: Optional[StrictStr] = Field(default=None, description="This is the ID proofing staus of the profile") + created_at: Optional[datetime] = Field(default=None, description="The date and time the profile was created") + updated_at: Optional[datetime] = Field(default=None, description="The date and time the profile was updated") + attributes: Optional[Dict[str, StrictStr]] = Field(default=None, description="Attributes that belong to this profile.") + __properties: ClassVar[List[str]] = ["id", "uid", "name", "profile_type_id", "status", "id_proofing_status", "created_at", "updated_at", "attributes"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Active', 'Inactive', 'On Leave', 'Terminated']): + warnings.warn(f"must be one of enum values ('Active', 'Inactive', 'On Leave', 'Terminated') unknown value: {value}") + return value + + @field_validator('id_proofing_status') + def id_proofing_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['pending', 'pass', 'fail']): + warnings.warn(f"must be one of enum values ('pending', 'pass', 'fail') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Profile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Profile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "id_proofing_status": obj.get("id_proofing_status"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "attributes": obj.get("attributes") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile1.py b/sailpoint/nerm/models/profile1.py new file mode 100644 index 000000000..7908d6872 --- /dev/null +++ b/sailpoint/nerm/models/profile1.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Profile1(BaseModel): + """ + Profile1 + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The profile name.") + profile_type_id: StrictStr = Field(description="The profile type id.") + status: StrictStr = Field(description="The profile status.") + id_proofing_status: Optional[StrictStr] = Field(default=None, description="The id proofing status of the profile.") + archived: Optional[StrictBool] = Field(default=False, description="Describes whether the profile is archived or not.") + attributes: Optional[Dict[str, StrictStr]] = Field(default=None, description="The attributes associated with the profile.") + __properties: ClassVar[List[str]] = ["name", "profile_type_id", "status", "id_proofing_status", "archived", "attributes"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Active', 'Inactive', 'On Leave', 'Terminated']): + warnings.warn(f"must be one of enum values ('Active', 'Inactive', 'On Leave', 'Terminated') unknown value: {value}") + return value + + @field_validator('id_proofing_status') + def id_proofing_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['pending', 'pass', 'fail']): + warnings.warn(f"must be one of enum values ('pending', 'pass', 'fail') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Profile1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Profile1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "id_proofing_status": obj.get("id_proofing_status"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "attributes": obj.get("attributes") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_date.py b/sailpoint/nerm/models/profile_attribute_rule_date.py new file mode 100644 index 000000000..ac8ac903c --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_date.py @@ -0,0 +1,163 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleDate(BaseModel): + """ + ProfileAttributeRuleDate + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + condition_object_type: StrictStr + condition_object_id: Optional[StrictStr] = None + secondary_attribute_type: Optional[StrictStr] = None + secondary_attribute_id: Optional[StrictStr] = None + comparison_operator: Optional[StrictStr] = None + value: StrictStr + secondary_value: Optional[StrictStr] = None + tertiary_value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "type", "condition_object_type", "condition_object_id", "secondary_attribute_type", "secondary_attribute_id", "comparison_operator", "value", "secondary_value", "tertiary_value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['DateAttribute']): + warnings.warn(f"must be one of enum values ('DateAttribute') unknown value: {value}") + return value + + @field_validator('secondary_attribute_type') + def secondary_attribute_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DateAttribute']): + warnings.warn(f"must be one of enum values ('DateAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['>', '<', 'after', 'before']): + warnings.warn(f"must be one of enum values ('>', '<', 'after', 'before') unknown value: {value}") + return value + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Today', '']): + warnings.warn(f"must be one of enum values ('Today', '') unknown value: {value}") + return value + + @field_validator('secondary_value') + def secondary_value_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['after', 'before']): + warnings.warn(f"must be one of enum values ('after', 'before') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleDate from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleDate from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "secondary_attribute_type": obj.get("secondary_attribute_type"), + "secondary_attribute_id": obj.get("secondary_attribute_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value"), + "secondary_value": obj.get("secondary_value"), + "tertiary_value": obj.get("tertiary_value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_date1.py b/sailpoint/nerm/models/profile_attribute_rule_date1.py new file mode 100644 index 000000000..be2ef516a --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_date1.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleDate1(BaseModel): + """ + ProfileAttributeRuleDate1 + """ # noqa: E501 + type: StrictStr + condition_object_type: StrictStr + condition_object_id: Optional[StrictStr] = None + secondary_attribute_type: Optional[StrictStr] = None + secondary_attribute_id: Optional[StrictStr] = None + comparison_operator: Optional[StrictStr] = None + value: StrictStr + secondary_value: Optional[StrictStr] = None + tertiary_value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["type", "condition_object_type", "condition_object_id", "secondary_attribute_type", "secondary_attribute_id", "comparison_operator", "value", "secondary_value", "tertiary_value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['DateAttribute']): + warnings.warn(f"must be one of enum values ('DateAttribute') unknown value: {value}") + return value + + @field_validator('secondary_attribute_type') + def secondary_attribute_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DateAttribute']): + warnings.warn(f"must be one of enum values ('DateAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['>', '<', 'after', 'before']): + warnings.warn(f"must be one of enum values ('>', '<', 'after', 'before') unknown value: {value}") + return value + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Today', '']): + warnings.warn(f"must be one of enum values ('Today', '') unknown value: {value}") + return value + + @field_validator('secondary_value') + def secondary_value_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['after', 'before']): + warnings.warn(f"must be one of enum values ('after', 'before') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleDate1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleDate1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "secondary_attribute_type": obj.get("secondary_attribute_type"), + "secondary_attribute_id": obj.get("secondary_attribute_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value"), + "secondary_value": obj.get("secondary_value"), + "tertiary_value": obj.get("tertiary_value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_id.py b/sailpoint/nerm/models/profile_attribute_rule_id.py new file mode 100644 index 000000000..f73cfb805 --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_id.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleId(BaseModel): + """ + ProfileAttributeRuleId + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + condition_object_type: StrictStr + condition_object_id: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["id", "uid", "type", "condition_object_type", "condition_object_id", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute']): + warnings.warn(f"must be one of enum values ('ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['include?', 'exclude?']): + warnings.warn(f"must be one of enum values ('include?', 'exclude?') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleId from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleId from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_id1.py b/sailpoint/nerm/models/profile_attribute_rule_id1.py new file mode 100644 index 000000000..fbea407ba --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_id1.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleId1(BaseModel): + """ + ProfileAttributeRuleId1 + """ # noqa: E501 + type: StrictStr + condition_object_type: StrictStr + condition_object_id: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["type", "condition_object_type", "condition_object_id", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute']): + warnings.warn(f"must be one of enum values ('ProfileSelectAttribute', 'ProfileSearchAttribute', 'OwnerSelectAttribute', 'OwnerSearchAttribute', 'ContributorSelectAttribute', 'ContributorSearchAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['include?', 'exclude?']): + warnings.warn(f"must be one of enum values ('include?', 'exclude?') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleId1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleId1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_string.py b/sailpoint/nerm/models/profile_attribute_rule_string.py new file mode 100644 index 000000000..542436bd0 --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_string.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleString(BaseModel): + """ + ProfileAttributeRuleString + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + condition_object_type: StrictStr + condition_object_id: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["id", "uid", "type", "condition_object_type", "condition_object_id", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TextFieldAttribute', 'TextAreaAttribute']): + warnings.warn(f"must be one of enum values ('TextFieldAttribute', 'TextAreaAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?']): + warnings.warn(f"must be one of enum values ('==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleString from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleString from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_attribute_rule_string1.py b/sailpoint/nerm/models/profile_attribute_rule_string1.py new file mode 100644 index 000000000..b4a9b21f6 --- /dev/null +++ b/sailpoint/nerm/models/profile_attribute_rule_string1.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAttributeRuleString1(BaseModel): + """ + ProfileAttributeRuleString1 + """ # noqa: E501 + type: StrictStr + condition_object_type: StrictStr + condition_object_id: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["type", "condition_object_type", "condition_object_id", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileAttributeRule']): + warnings.warn(f"must be one of enum values ('ProfileAttributeRule') unknown value: {value}") + return value + + @field_validator('condition_object_type') + def condition_object_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TextFieldAttribute', 'TextAreaAttribute']): + warnings.warn(f"must be one of enum values ('TextFieldAttribute', 'TextAreaAttribute') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?']): + warnings.warn(f"must be one of enum values ('==', '!=', '>', '<', 'start_with?', 'end_with?', 'include?') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleString1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAttributeRuleString1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "condition_object_type": obj.get("condition_object_type"), + "condition_object_id": obj.get("condition_object_id"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_check_action.py b/sailpoint/nerm/models/profile_check_action.py new file mode 100644 index 000000000..b250188b8 --- /dev/null +++ b/sailpoint/nerm/models/profile_check_action.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileCheckAction(BaseModel): + """ + ProfileCheckAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + ne_attribute_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of ne_attribute_ids.") + handle_type: Optional[StrictStr] = Field(default=None, description="The handle type for what should happen if an existing profile is found.") + handle_id: Optional[StrictStr] = Field(default=None, description="The handle id. When handle type is session, this is the session id.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "ne_attribute_ids", "handle_type", "handle_id"] + + @field_validator('handle_type') + def handle_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['session', 'attribute']): + warnings.warn(f"must be one of enum values ('session', 'attribute') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileCheckAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileCheckAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "ne_attribute_ids": obj.get("ne_attribute_ids"), + "handle_type": obj.get("handle_type"), + "handle_id": obj.get("handle_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_page.py b/sailpoint/nerm/models/profile_page.py new file mode 100644 index 000000000..5da4a7b3c --- /dev/null +++ b/sailpoint/nerm/models/profile_page.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfilePage(BaseModel): + """ + ProfilePage + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page") + description: Optional[StrictStr] = Field(default=None, description="The description of the page") + name: Optional[StrictStr] = Field(default=None, description="The name of the page") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the page is archived") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfilePage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfilePage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_select_action.py b/sailpoint/nerm/models/profile_select_action.py new file mode 100644 index 000000000..93aba1f8e --- /dev/null +++ b/sailpoint/nerm/models/profile_select_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileSelectAction(BaseModel): + """ + ProfileSelectAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileSelectAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileSelectAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_status_rule.py b/sailpoint/nerm/models/profile_status_rule.py new file mode 100644 index 000000000..72dd8be8a --- /dev/null +++ b/sailpoint/nerm/models/profile_status_rule.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileStatusRule(BaseModel): + """ + ProfileStatusRule + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + comparison_operator: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "type", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileStatusRule']): + warnings.warn(f"must be one of enum values ('ProfileStatusRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['==', '!=']): + warnings.warn(f"must be one of enum values ('==', '!=') unknown value: {value}") + return value + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Active', 'Inactive', 'Leave of absence', 'Terminated']): + warnings.warn(f"must be one of enum values ('Active', 'Inactive', 'Leave of absence', 'Terminated') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileStatusRule from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileStatusRule from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_status_rule1.py b/sailpoint/nerm/models/profile_status_rule1.py new file mode 100644 index 000000000..771f77805 --- /dev/null +++ b/sailpoint/nerm/models/profile_status_rule1.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ProfileStatusRule1(BaseModel): + """ + ProfileStatusRule1 + """ # noqa: E501 + type: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["type", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileStatusRule']): + warnings.warn(f"must be one of enum values ('ProfileStatusRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['==', '!=']): + warnings.warn(f"must be one of enum values ('==', '!=') unknown value: {value}") + return value + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Active', 'Inactive', 'Leave of absence', 'Terminated']): + warnings.warn(f"must be one of enum values ('Active', 'Inactive', 'Leave of absence', 'Terminated') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileStatusRule1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileStatusRule1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type.py b/sailpoint/nerm/models/profile_type.py new file mode 100644 index 000000000..d74bfc015 --- /dev/null +++ b/sailpoint/nerm/models/profile_type.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner import ProfileTypeProfileTypeDupAttributesInner +from sailpoint.nerm.models.profile_type_profile_type_namings_inner import ProfileTypeProfileTypeNamingsInner +from typing import Optional, Set +from typing_extensions import Self + +class ProfileType(BaseModel): + """ + ProfileType + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The objects ID.") + uid: Optional[StrictStr] = Field(default=None, description="The objects UID.") + name: Optional[StrictStr] = Field(default=None, description="This is the name of the profile type.") + category: Optional[StrictStr] = Field(default=None, description="This is the category the profile type falls into.") + bypass_dup_protection: Optional[StrictBool] = Field(default=None, description="Whether or not duplication protection is bypassed.") + archived: Optional[StrictBool] = Field(default=None, description="Whether or not the profile type is archived.") + permitted_role_ids: Optional[List[StrictStr]] = Field(default=None, description="The role ids that are permitted for this profile type.") + isc_synced: Optional[StrictBool] = Field(default=None, description="Is this profile type synced with ics") + profile_type_dup_attributes: Optional[List[ProfileTypeProfileTypeDupAttributesInner]] = None + profile_type_namings: Optional[List[ProfileTypeProfileTypeNamingsInner]] = None + __properties: ClassVar[List[str]] = ["id", "uid", "name", "category", "bypass_dup_protection", "archived", "permitted_role_ids", "isc_synced", "profile_type_dup_attributes", "profile_type_namings"] + + @field_validator('category') + def category_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['employee', 'non-employee', 'organization', 'assignment', 'other']): + warnings.warn(f"must be one of enum values ('employee', 'non-employee', 'organization', 'assignment', 'other') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileType from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profile_type_dup_attributes (list) + _items = [] + if self.profile_type_dup_attributes: + for _item_profile_type_dup_attributes in self.profile_type_dup_attributes: + if _item_profile_type_dup_attributes: + _items.append(_item_profile_type_dup_attributes.to_dict()) + _dict['profile_type_dup_attributes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in profile_type_namings (list) + _items = [] + if self.profile_type_namings: + for _item_profile_type_namings in self.profile_type_namings: + if _item_profile_type_namings: + _items.append(_item_profile_type_namings.to_dict()) + _dict['profile_type_namings'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileType from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "category": obj.get("category"), + "bypass_dup_protection": obj.get("bypass_dup_protection"), + "archived": obj.get("archived"), + "permitted_role_ids": obj.get("permitted_role_ids"), + "isc_synced": obj.get("isc_synced"), + "profile_type_dup_attributes": [ProfileTypeProfileTypeDupAttributesInner.from_dict(_item) for _item in obj["profile_type_dup_attributes"]] if obj.get("profile_type_dup_attributes") is not None else None, + "profile_type_namings": [ProfileTypeProfileTypeNamingsInner.from_dict(_item) for _item in obj["profile_type_namings"]] if obj.get("profile_type_namings") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type1.py b/sailpoint/nerm/models/profile_type1.py new file mode 100644 index 000000000..9f4db4da6 --- /dev/null +++ b/sailpoint/nerm/models/profile_type1.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile_type1_profile_type_dup_attributes_attributes_inner import ProfileType1ProfileTypeDupAttributesAttributesInner +from sailpoint.nerm.models.profile_type1_profile_type_namings_attributes_inner import ProfileType1ProfileTypeNamingsAttributesInner +from typing import Optional, Set +from typing_extensions import Self + +class ProfileType1(BaseModel): + """ + ProfileType1 + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="This is the name of the profile type.") + category: Optional[StrictStr] = Field(default=None, description="This is the category the profile type falls into.") + bypass_dup_protection: Optional[StrictBool] = Field(default=False, description="Whether or not duplication protection is bypassed.") + archived: Optional[StrictBool] = Field(default=False, description="Whether or not the profile type is archived.") + permitted_role_ids: Optional[List[StrictStr]] = Field(default=None, description="The role ids that are permitted for this profile type.") + isc_synced: Optional[StrictBool] = Field(default=False, description="Is this profile type synced with ics") + profile_type_dup_attributes_attributes: Optional[List[ProfileType1ProfileTypeDupAttributesAttributesInner]] = None + profile_type_namings_attributes: Optional[List[ProfileType1ProfileTypeNamingsAttributesInner]] = None + __properties: ClassVar[List[str]] = ["name", "category", "bypass_dup_protection", "archived", "permitted_role_ids", "isc_synced", "profile_type_dup_attributes_attributes", "profile_type_namings_attributes"] + + @field_validator('category') + def category_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['employee', 'non-employee', 'organization', 'assignment', 'other']): + warnings.warn(f"must be one of enum values ('employee', 'non-employee', 'organization', 'assignment', 'other') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileType1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profile_type_dup_attributes_attributes (list) + _items = [] + if self.profile_type_dup_attributes_attributes: + for _item_profile_type_dup_attributes_attributes in self.profile_type_dup_attributes_attributes: + if _item_profile_type_dup_attributes_attributes: + _items.append(_item_profile_type_dup_attributes_attributes.to_dict()) + _dict['profile_type_dup_attributes_attributes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in profile_type_namings_attributes (list) + _items = [] + if self.profile_type_namings_attributes: + for _item_profile_type_namings_attributes in self.profile_type_namings_attributes: + if _item_profile_type_namings_attributes: + _items.append(_item_profile_type_namings_attributes.to_dict()) + _dict['profile_type_namings_attributes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileType1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "category": obj.get("category"), + "bypass_dup_protection": obj.get("bypass_dup_protection") if obj.get("bypass_dup_protection") is not None else False, + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "permitted_role_ids": obj.get("permitted_role_ids"), + "isc_synced": obj.get("isc_synced") if obj.get("isc_synced") is not None else False, + "profile_type_dup_attributes_attributes": [ProfileType1ProfileTypeDupAttributesAttributesInner.from_dict(_item) for _item in obj["profile_type_dup_attributes_attributes"]] if obj.get("profile_type_dup_attributes_attributes") is not None else None, + "profile_type_namings_attributes": [ProfileType1ProfileTypeNamingsAttributesInner.from_dict(_item) for _item in obj["profile_type_namings_attributes"]] if obj.get("profile_type_namings_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type1_profile_type_dup_attributes_attributes_inner.py b/sailpoint/nerm/models/profile_type1_profile_type_dup_attributes_attributes_inner.py new file mode 100644 index 000000000..23b068459 --- /dev/null +++ b/sailpoint/nerm/models/profile_type1_profile_type_dup_attributes_attributes_inner.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileType1ProfileTypeDupAttributesAttributesInner(BaseModel): + """ + ProfileType1ProfileTypeDupAttributesAttributesInner + """ # noqa: E501 + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the ne attribute.") + __properties: ClassVar[List[str]] = ["ne_attribute_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileType1ProfileTypeDupAttributesAttributesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileType1ProfileTypeDupAttributesAttributesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_id": obj.get("ne_attribute_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type1_profile_type_namings_attributes_inner.py b/sailpoint/nerm/models/profile_type1_profile_type_namings_attributes_inner.py new file mode 100644 index 000000000..26495830c --- /dev/null +++ b/sailpoint/nerm/models/profile_type1_profile_type_namings_attributes_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class ProfileType1ProfileTypeNamingsAttributesInner(BaseModel): + """ + ProfileType1ProfileTypeNamingsAttributesInner + """ # noqa: E501 + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated ne attribute.") + order: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="The order that the namings are used in.") + __properties: ClassVar[List[str]] = ["ne_attribute_id", "order"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileType1ProfileTypeNamingsAttributesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileType1ProfileTypeNamingsAttributesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_id": obj.get("ne_attribute_id"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_attribute.py b/sailpoint/nerm/models/profile_type_attribute.py new file mode 100644 index 000000000..7fe4c1ba1 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_attribute.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeAttribute(BaseModel): + """ + ProfileTypeAttribute + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID of ne attribute") + uid: Optional[StrictStr] = Field(default=None, description="Ne attribute's uid") + label: StrictStr = Field(description="Ne attribute's label") + synced: Optional[StrictStr] = Field(default=None, description="synced_attribute ID if there is one") + __properties: ClassVar[List[str]] = ["id", "uid", "label", "synced"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeAttribute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + "label", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeAttribute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "synced": obj.get("synced") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_attributes.py b/sailpoint/nerm/models/profile_type_attributes.py new file mode 100644 index 000000000..b57fa1c05 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_attributes.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile_type_attribute import ProfileTypeAttribute +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeAttributes(BaseModel): + """ + ProfileTypeAttributes + """ # noqa: E501 + count: Optional[StrictInt] = Field(default=None, description="How many ne attribute records exist") + records: Optional[List[ProfileTypeAttribute]] = None + __properties: ClassVar[List[str]] = ["count", "records"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in records (list) + _items = [] + if self.records: + for _item_records in self.records: + if _item_records: + _items.append(_item_records.to_dict()) + _dict['records'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "count": obj.get("count"), + "records": [ProfileTypeAttribute.from_dict(_item) for _item in obj["records"]] if obj.get("records") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_profile_type_dup_attributes_inner.py b/sailpoint/nerm/models/profile_type_profile_type_dup_attributes_inner.py new file mode 100644 index 000000000..af842fdc3 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_profile_type_dup_attributes_inner.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeProfileTypeDupAttributesInner(BaseModel): + """ + ProfileTypeProfileTypeDupAttributesInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The ID of the properties that are used for duplication protection.") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the properties that are used for duplication protection.") + profile_type_id: Optional[StrictStr] = Field(default=None, description="The ID of the profile type.") + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the ne attribute.") + __properties: ClassVar[List[str]] = ["id", "uid", "profile_type_id", "ne_attribute_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeProfileTypeDupAttributesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeProfileTypeDupAttributesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "profile_type_id": obj.get("profile_type_id"), + "ne_attribute_id": obj.get("ne_attribute_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_profile_type_namings_inner.py b/sailpoint/nerm/models/profile_type_profile_type_namings_inner.py new file mode 100644 index 000000000..77dd9a86c --- /dev/null +++ b/sailpoint/nerm/models/profile_type_profile_type_namings_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeProfileTypeNamingsInner(BaseModel): + """ + ProfileTypeProfileTypeNamingsInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The ID of the profile type naming.") + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the profile type naming.") + profile_type_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated profile type.") + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="The ID of the associated ne attribute.") + order: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="The order that the namings are used in.") + __properties: ClassVar[List[str]] = ["id", "uid", "profile_type_id", "ne_attribute_id", "order"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeProfileTypeNamingsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeProfileTypeNamingsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "profile_type_id": obj.get("profile_type_id"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_roles.py b/sailpoint/nerm/models/profile_type_roles.py new file mode 100644 index 000000000..c3d2cbfc6 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_roles.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeRoles(BaseModel): + """ + ProfileTypeRoles + """ # noqa: E501 + profile_type_id: Optional[StrictStr] = Field(default=None, description="The id of the profile type") + role_id: Optional[StrictStr] = Field(default=None, description="The id of the role") + id: Optional[StrictStr] = Field(default=None, description="The id of the profile type role") + __properties: ClassVar[List[str]] = ["profile_type_id", "role_id", "id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeRoles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeRoles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "role_id": obj.get("role_id"), + "id": obj.get("id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_roles1.py b/sailpoint/nerm/models/profile_type_roles1.py new file mode 100644 index 000000000..9578b5572 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_roles1.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeRoles1(BaseModel): + """ + ProfileTypeRoles1 + """ # noqa: E501 + profile_type_id: Optional[StrictStr] = Field(default=None, description="The id of the profile type") + role_id: Optional[StrictStr] = Field(default=None, description="The id of the role") + __properties: ClassVar[List[str]] = ["profile_type_id", "role_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeRoles1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeRoles1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "role_id": obj.get("role_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_rule.py b/sailpoint/nerm/models/profile_type_rule.py new file mode 100644 index 000000000..2cf39ddb0 --- /dev/null +++ b/sailpoint/nerm/models/profile_type_rule.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeRule(BaseModel): + """ + ProfileTypeRule + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + comparison_operator: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "type", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileTypeRule']): + warnings.warn(f"must be one of enum values ('ProfileTypeRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['==', '!=']): + warnings.warn(f"must be one of enum values ('==', '!=') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeRule from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeRule from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profile_type_rule1.py b/sailpoint/nerm/models/profile_type_rule1.py new file mode 100644 index 000000000..e0ecca95c --- /dev/null +++ b/sailpoint/nerm/models/profile_type_rule1.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ProfileTypeRule1(BaseModel): + """ + ProfileTypeRule1 + """ # noqa: E501 + type: StrictStr + comparison_operator: StrictStr + value: StrictStr + __properties: ClassVar[List[str]] = ["type", "comparison_operator", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ProfileTypeRule']): + warnings.warn(f"must be one of enum values ('ProfileTypeRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['==', '!=']): + warnings.warn(f"must be one of enum values ('==', '!=') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileTypeRule1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileTypeRule1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/profiles.py b/sailpoint/nerm/models/profiles.py new file mode 100644 index 000000000..6ec021fb1 --- /dev/null +++ b/sailpoint/nerm/models/profiles.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile import Profile +from typing import Optional, Set +from typing_extensions import Self + +class Profiles(BaseModel): + """ + Profiles + """ # noqa: E501 + profiles: Optional[List[Profile]] = None + __properties: ClassVar[List[str]] = ["profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Profiles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profiles (list) + _items = [] + if self.profiles: + for _item_profiles in self.profiles: + if _item_profiles: + _items.append(_item_profiles.to_dict()) + _dict['profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Profiles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profiles": [Profile.from_dict(_item) for _item in obj["profiles"]] if obj.get("profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/request_action.py b/sailpoint/nerm/models/request_action.py new file mode 100644 index 000000000..93149cfc0 --- /dev/null +++ b/sailpoint/nerm/models/request_action.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RequestAction(BaseModel): + """ + RequestAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + page_id: Optional[StrictStr] = Field(default=None, description="The page the workflow action should render.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + requires_comment: Optional[StrictBool] = Field(default=False, description="If the workflow action requires a comment or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "page_id", "archived", "requires_comment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RequestAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RequestAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "page_id": obj.get("page_id"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "requires_comment": obj.get("requires_comment") if obj.get("requires_comment") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/rest_api_action.py b/sailpoint/nerm/models/rest_api_action.py new file mode 100644 index 000000000..8ff59a661 --- /dev/null +++ b/sailpoint/nerm/models/rest_api_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RestApiAction(BaseModel): + """ + RestApiAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RestApiAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RestApiAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/review_action.py b/sailpoint/nerm/models/review_action.py new file mode 100644 index 000000000..2516ec503 --- /dev/null +++ b/sailpoint/nerm/models/review_action.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ReviewAction(BaseModel): + """ + ReviewAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + page_id: Optional[StrictStr] = Field(default=None, description="The page the workflow action should render.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + requires_comment: Optional[StrictBool] = Field(default=False, description="If the workflow action requires a comment or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "page_id", "archived", "requires_comment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReviewAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReviewAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "page_id": obj.get("page_id"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "requires_comment": obj.get("requires_comment") if obj.get("requires_comment") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/risk_level.py b/sailpoint/nerm/models/risk_level.py new file mode 100644 index 000000000..18f05603b --- /dev/null +++ b/sailpoint/nerm/models/risk_level.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class RiskLevel(BaseModel): + """ + RiskLevel + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + label: Optional[StrictStr] = None + points: Optional[Union[Annotated[float, Field(multiple_of=0.01, strict=True)], Annotated[int, Field(strict=True)]]] = None + order: Optional[Annotated[int, Field(strict=True, ge=0)]] = None + __properties: ClassVar[List[str]] = ["id", "uid", "label", "points", "order"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RiskLevel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RiskLevel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "label": obj.get("label"), + "points": obj.get("points"), + "order": obj.get("order") + }) + return _obj + + diff --git a/sailpoint/nerm/models/risk_rule.py b/sailpoint/nerm/models/risk_rule.py new file mode 100644 index 000000000..997ada055 --- /dev/null +++ b/sailpoint/nerm/models/risk_rule.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RiskRule(BaseModel): + """ + RiskRule + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + type: StrictStr + comparison_operator: Optional[StrictStr] = None + value: StrictStr + secondary_value: StrictStr + __properties: ClassVar[List[str]] = ["id", "uid", "type", "comparison_operator", "value", "secondary_value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RiskRule']): + warnings.warn(f"must be one of enum values ('RiskRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['==', '>', '<']): + warnings.warn(f"must be one of enum values ('==', '>', '<') unknown value: {value}") + return value + + @field_validator('secondary_value') + def secondary_value_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['OverallRisk']): + warnings.warn(f"must be one of enum values ('OverallRisk') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RiskRule from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RiskRule from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value"), + "secondary_value": obj.get("secondary_value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/risk_rule1.py b/sailpoint/nerm/models/risk_rule1.py new file mode 100644 index 000000000..76c61047d --- /dev/null +++ b/sailpoint/nerm/models/risk_rule1.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RiskRule1(BaseModel): + """ + RiskRule1 + """ # noqa: E501 + type: StrictStr + comparison_operator: Optional[StrictStr] = None + value: StrictStr + secondary_value: StrictStr + __properties: ClassVar[List[str]] = ["type", "comparison_operator", "value", "secondary_value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RiskRule']): + warnings.warn(f"must be one of enum values ('RiskRule') unknown value: {value}") + return value + + @field_validator('comparison_operator') + def comparison_operator_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['==', '>', '<']): + warnings.warn(f"must be one of enum values ('==', '>', '<') unknown value: {value}") + return value + + @field_validator('secondary_value') + def secondary_value_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['OverallRisk']): + warnings.warn(f"must be one of enum values ('OverallRisk') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RiskRule1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RiskRule1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "comparison_operator": obj.get("comparison_operator"), + "value": obj.get("value"), + "secondary_value": obj.get("secondary_value") + }) + return _obj + + diff --git a/sailpoint/nerm/models/risk_score.py b/sailpoint/nerm/models/risk_score.py new file mode 100644 index 000000000..41f0aabf8 --- /dev/null +++ b/sailpoint/nerm/models/risk_score.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class RiskScore(BaseModel): + """ + RiskScore + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + object_id: Optional[StrictStr] = None + object_type: Optional[StrictStr] = None + overall_score: Optional[Union[Annotated[float, Field(multiple_of=0.01, strict=True)], Annotated[int, Field(strict=True)]]] = None + overall_risk_level_id: Optional[StrictStr] = None + impact_score: Optional[Union[Annotated[float, Field(multiple_of=0.01, strict=True)], Annotated[int, Field(strict=True)]]] = None + impact_risk_level_id: Optional[StrictStr] = None + probability_score: Optional[Union[Annotated[float, Field(multiple_of=0.01, strict=True)], Annotated[int, Field(strict=True)]]] = None + probability_risk_level_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "object_id", "object_type", "overall_score", "overall_risk_level_id", "impact_score", "impact_risk_level_id", "probability_score", "probability_risk_level_id"] + + @field_validator('object_type') + def object_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Profile', 'WorkflowSession']): + warnings.warn(f"must be one of enum values ('Profile', 'WorkflowSession') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RiskScore from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RiskScore from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "object_id": obj.get("object_id"), + "object_type": obj.get("object_type"), + "overall_score": obj.get("overall_score"), + "overall_risk_level_id": obj.get("overall_risk_level_id"), + "impact_score": obj.get("impact_score"), + "impact_risk_level_id": obj.get("impact_risk_level_id"), + "probability_score": obj.get("probability_score"), + "probability_risk_level_id": obj.get("probability_risk_level_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/role.py b/sailpoint/nerm/models/role.py new file mode 100644 index 000000000..a5f0aa705 --- /dev/null +++ b/sailpoint/nerm/models/role.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Role(BaseModel): + """ + Role + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + name: Optional[StrictStr] = None + groups: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["id", "uid", "name", "groups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Role from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Role from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "groups": obj.get("groups") + }) + return _obj + + diff --git a/sailpoint/nerm/models/role1.py b/sailpoint/nerm/models/role1.py new file mode 100644 index 000000000..20bcd0050 --- /dev/null +++ b/sailpoint/nerm/models/role1.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Role1(BaseModel): + """ + Role1 + """ # noqa: E501 + uid: Optional[StrictStr] = None + type: Optional[StrictStr] = None + name: Optional[StrictStr] = None + groups: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["uid", "type", "name", "groups"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NeprofileRole', 'NeaccessRole']): + warnings.warn(f"must be one of enum values ('NeprofileRole', 'NeaccessRole') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Role1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Role1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "type": obj.get("type"), + "name": obj.get("name"), + "groups": obj.get("groups") + }) + return _obj + + diff --git a/sailpoint/nerm/models/role_profile.py b/sailpoint/nerm/models/role_profile.py new file mode 100644 index 000000000..89c47a001 --- /dev/null +++ b/sailpoint/nerm/models/role_profile.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RoleProfile(BaseModel): + """ + RoleProfile + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + role_id: Optional[StrictStr] = None + profile_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "role_id", "profile_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RoleProfile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoleProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "role_id": obj.get("role_id"), + "profile_id": obj.get("profile_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/role_profile1.py b/sailpoint/nerm/models/role_profile1.py new file mode 100644 index 000000000..ebfb103dc --- /dev/null +++ b/sailpoint/nerm/models/role_profile1.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RoleProfile1(BaseModel): + """ + RoleProfile1 + """ # noqa: E501 + role_id: Optional[StrictStr] = None + profile_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["role_id", "profile_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RoleProfile1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoleProfile1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_id": obj.get("role_id"), + "profile_id": obj.get("profile_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/role_profiles.py b/sailpoint/nerm/models/role_profiles.py new file mode 100644 index 000000000..2adac40d5 --- /dev/null +++ b/sailpoint/nerm/models/role_profiles.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.role_profile import RoleProfile +from typing import Optional, Set +from typing_extensions import Self + +class RoleProfiles(BaseModel): + """ + RoleProfiles + """ # noqa: E501 + role_profiles: Optional[List[RoleProfile]] = None + __properties: ClassVar[List[str]] = ["role_profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RoleProfiles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in role_profiles (list) + _items = [] + if self.role_profiles: + for _item_role_profiles in self.role_profiles: + if _item_role_profiles: + _items.append(_item_role_profiles.to_dict()) + _dict['role_profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoleProfiles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_profiles": [RoleProfile.from_dict(_item) for _item in obj["role_profiles"]] if obj.get("role_profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/roles.py b/sailpoint/nerm/models/roles.py new file mode 100644 index 000000000..6c634b5e3 --- /dev/null +++ b/sailpoint/nerm/models/roles.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.role import Role +from typing import Optional, Set +from typing_extensions import Self + +class Roles(BaseModel): + """ + Roles + """ # noqa: E501 + roles: Optional[List[Role]] = None + __properties: ClassVar[List[str]] = ["roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Roles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Roles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roles": [Role.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/run_workflow_action.py b/sailpoint/nerm/models/run_workflow_action.py new file mode 100644 index 000000000..9af3f8184 --- /dev/null +++ b/sailpoint/nerm/models/run_workflow_action.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.run_workflow_action_configuration_attributes import RunWorkflowActionConfigurationAttributes +from typing import Optional, Set +from typing_extensions import Self + +class RunWorkflowAction(BaseModel): + """ + RunWorkflowAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + configuration_attributes: Optional[RunWorkflowActionConfigurationAttributes] = None + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "configuration_attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RunWorkflowAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of configuration_attributes + if self.configuration_attributes: + _dict['configuration_attributes'] = self.configuration_attributes.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RunWorkflowAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "configuration_attributes": RunWorkflowActionConfigurationAttributes.from_dict(obj["configuration_attributes"]) if obj.get("configuration_attributes") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/run_workflow_action_configuration_attributes.py b/sailpoint/nerm/models/run_workflow_action_configuration_attributes.py new file mode 100644 index 000000000..db8c580fe --- /dev/null +++ b/sailpoint/nerm/models/run_workflow_action_configuration_attributes.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RunWorkflowActionConfigurationAttributes(BaseModel): + """ + RunWorkflowActionConfigurationAttributes + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="the id.") + workflow_id: Optional[StrictStr] = Field(default=None, description="the id of the workflow.") + wait_for_completion: Optional[StrictBool] = Field(default=None, description="If the parent workflow should wait for the child to complete.") + profile_to_send: Optional[StrictStr] = Field(default=None, description="the profile the parent should send to the child workflow.") + return_profile: Optional[StrictBool] = Field(default=None, description="if the child workflow should return a profile.") + run_workflow_action_id: Optional[StrictStr] = Field(default=None, description="the id of the child workflow to run.") + profile_type_id: Optional[StrictStr] = Field(default=None, description="the id of the profile type.") + __properties: ClassVar[List[str]] = ["id", "workflow_id", "wait_for_completion", "profile_to_send", "return_profile", "run_workflow_action_id", "profile_type_id"] + + @field_validator('profile_to_send') + def profile_to_send_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['none', 'current', 'attribute', 'profile_type']): + warnings.warn(f"must be one of enum values ('none', 'current', 'attribute', 'profile_type') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RunWorkflowActionConfigurationAttributes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RunWorkflowActionConfigurationAttributes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "workflow_id": obj.get("workflow_id"), + "wait_for_completion": obj.get("wait_for_completion"), + "profile_to_send": obj.get("profile_to_send"), + "return_profile": obj.get("return_profile"), + "run_workflow_action_id": obj.get("run_workflow_action_id"), + "profile_type_id": obj.get("profile_type_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/search200_response.py b/sailpoint/nerm/models/search200_response.py new file mode 100644 index 000000000..693f392f4 --- /dev/null +++ b/sailpoint/nerm/models/search200_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.audit_event import AuditEvent +from typing import Optional, Set +from typing_extensions import Self + +class Search200Response(BaseModel): + """ + Search200Response + """ # noqa: E501 + audit_events: Optional[List[AuditEvent]] = None + __properties: ClassVar[List[str]] = ["audit_events"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Search200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in audit_events (list) + _items = [] + if self.audit_events: + for _item_audit_events in self.audit_events: + if _item_audit_events: + _items.append(_item_audit_events.to_dict()) + _dict['audit_events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Search200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "audit_events": [AuditEvent.from_dict(_item) for _item in obj["audit_events"]] if obj.get("audit_events") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/search_advanced_search200_response.py b/sailpoint/nerm/models/search_advanced_search200_response.py new file mode 100644 index 000000000..08037ddb6 --- /dev/null +++ b/sailpoint/nerm/models/search_advanced_search200_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.profile import Profile +from typing import Optional, Set +from typing_extensions import Self + +class SearchAdvancedSearch200Response(BaseModel): + """ + SearchAdvancedSearch200Response + """ # noqa: E501 + profiles: Optional[List[Profile]] = None + __properties: ClassVar[List[str]] = ["profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SearchAdvancedSearch200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in profiles (list) + _items = [] + if self.profiles: + for _item_profiles in self.profiles: + if _item_profiles: + _items.append(_item_profiles.to_dict()) + _dict['profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchAdvancedSearch200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profiles": [Profile.from_dict(_item) for _item in obj["profiles"]] if obj.get("profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/search_request.py b/sailpoint/nerm/models/search_request.py new file mode 100644 index 000000000..6f13de76b --- /dev/null +++ b/sailpoint/nerm/models/search_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.search_request_audit_events import SearchRequestAuditEvents +from typing import Optional, Set +from typing_extensions import Self + +class SearchRequest(BaseModel): + """ + SearchRequest + """ # noqa: E501 + audit_events: Optional[SearchRequestAuditEvents] = None + __properties: ClassVar[List[str]] = ["audit_events"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SearchRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of audit_events + if self.audit_events: + _dict['audit_events'] = self.audit_events.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "audit_events": SearchRequestAuditEvents.from_dict(obj["audit_events"]) if obj.get("audit_events") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/search_request_audit_events.py b/sailpoint/nerm/models/search_request_audit_events.py new file mode 100644 index 000000000..facb87d04 --- /dev/null +++ b/sailpoint/nerm/models/search_request_audit_events.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from sailpoint.nerm.models.audit_event import AuditEvent +from typing import Optional, Set +from typing_extensions import Self + +class SearchRequestAuditEvents(BaseModel): + """ + SearchRequestAuditEvents + """ # noqa: E501 + offset: Optional[StrictInt] = Field(default=None, description="How many records to skip before pulling records to return.") + sort_by: Optional[StrictStr] = Field(default=None, description="A column that we are sorting these records from.") + limit: Optional[Annotated[int, Field(le=100, strict=True)]] = Field(default=None, description="The limiting count for the amount of records returned.") + order: Optional[StrictStr] = Field(default=None, description="Which direction the list should be sorted by") + filters: Optional[AuditEvent] = None + __properties: ClassVar[List[str]] = ["offset", "sort_by", "limit", "order", "filters"] + + @field_validator('order') + def order_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['asc', 'desc']): + warnings.warn(f"must be one of enum values ('asc', 'desc') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SearchRequestAuditEvents from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of filters + if self.filters: + _dict['filters'] = self.filters.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchRequestAuditEvents from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "offset": obj.get("offset"), + "sort_by": obj.get("sort_by"), + "limit": obj.get("limit"), + "order": obj.get("order"), + "filters": AuditEvent.from_dict(obj["filters"]) if obj.get("filters") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/set_attributes_action.py b/sailpoint/nerm/models/set_attributes_action.py new file mode 100644 index 000000000..a6b714db9 --- /dev/null +++ b/sailpoint/nerm/models/set_attributes_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SetAttributesAction(BaseModel): + """ + SetAttributesAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SetAttributesAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SetAttributesAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/set_security_question_action.py b/sailpoint/nerm/models/set_security_question_action.py new file mode 100644 index 000000000..9e7c081ff --- /dev/null +++ b/sailpoint/nerm/models/set_security_question_action.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SetSecurityQuestionAction(BaseModel): + """ + SetSecurityQuestionAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + number_of_questions: StrictInt = Field(description="The number of questions the user should answer upon login.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived", "number_of_questions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SetSecurityQuestionAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SetSecurityQuestionAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "number_of_questions": obj.get("number_of_questions") + }) + return _obj + + diff --git a/sailpoint/nerm/models/soap_api_action.py b/sailpoint/nerm/models/soap_api_action.py new file mode 100644 index 000000000..f0eec3867 --- /dev/null +++ b/sailpoint/nerm/models/soap_api_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SoapApiAction(BaseModel): + """ + SoapApiAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SoapApiAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SoapApiAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/status_change_action.py b/sailpoint/nerm/models/status_change_action.py new file mode 100644 index 000000000..7e3a1843f --- /dev/null +++ b/sailpoint/nerm/models/status_change_action.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class StatusChangeAction(BaseModel): + """ + StatusChangeAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + new_status: Optional[StrictStr] = Field(default=None, description="The new status for the Status Change workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "new_status", "archived"] + + @field_validator('new_status') + def new_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Active', 'Inactive', 'On Leave', 'Terminated']): + warnings.warn(f"must be one of enum values ('Active', 'Inactive', 'On Leave', 'Terminated') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StatusChangeAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StatusChangeAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "new_status": obj.get("new_status"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_advanced_search200_response.py b/sailpoint/nerm/models/submit_advanced_search200_response.py new file mode 100644 index 000000000..23492a462 --- /dev/null +++ b/sailpoint/nerm/models/submit_advanced_search200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitAdvancedSearch200Response(BaseModel): + """ + SubmitAdvancedSearch200Response + """ # noqa: E501 + advanced_search: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["advanced_search"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitAdvancedSearch200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of advanced_search + if self.advanced_search: + _dict['advanced_search'] = self.advanced_search.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitAdvancedSearch200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "advanced_search": AdvancedSearch.from_dict(obj["advanced_search"]) if obj.get("advanced_search") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_advanced_search_request.py b/sailpoint/nerm/models/submit_advanced_search_request.py new file mode 100644 index 000000000..c24a479e3 --- /dev/null +++ b/sailpoint/nerm/models/submit_advanced_search_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitAdvancedSearchRequest(BaseModel): + """ + SubmitAdvancedSearchRequest + """ # noqa: E501 + advanced_search: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["advanced_search"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitAdvancedSearchRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of advanced_search + if self.advanced_search: + _dict['advanced_search'] = self.advanced_search.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitAdvancedSearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "advanced_search": AdvancedSearch1.from_dict(obj["advanced_search"]) if obj.get("advanced_search") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_attribute_option200_response.py b/sailpoint/nerm/models/submit_attribute_option200_response.py new file mode 100644 index 000000000..dd2504277 --- /dev/null +++ b/sailpoint/nerm/models/submit_attribute_option200_response.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_option import AttributeOption +from typing import Optional, Set +from typing_extensions import Self + +class SubmitAttributeOption200Response(BaseModel): + """ + SubmitAttributeOption200Response + """ # noqa: E501 + ne_attribute_option: Optional[AttributeOption] = None + __properties: ClassVar[List[str]] = ["ne_attribute_option"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitAttributeOption200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of ne_attribute_option + if self.ne_attribute_option: + _dict['ne_attribute_option'] = self.ne_attribute_option.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitAttributeOption200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_option": AttributeOption.from_dict(obj["ne_attribute_option"]) if obj.get("ne_attribute_option") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_attribute_option_request.py b/sailpoint/nerm/models/submit_attribute_option_request.py new file mode 100644 index 000000000..0c43af648 --- /dev/null +++ b/sailpoint/nerm/models/submit_attribute_option_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_option1 import AttributeOption1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitAttributeOptionRequest(BaseModel): + """ + SubmitAttributeOptionRequest + """ # noqa: E501 + ne_attribute_option: Optional[AttributeOption1] = None + __properties: ClassVar[List[str]] = ["ne_attribute_option"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitAttributeOptionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of ne_attribute_option + if self.ne_attribute_option: + _dict['ne_attribute_option'] = self.ne_attribute_option.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitAttributeOptionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_option": AttributeOption1.from_dict(obj["ne_attribute_option"]) if obj.get("ne_attribute_option") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_attribute_options200_response.py b/sailpoint/nerm/models/submit_attribute_options200_response.py new file mode 100644 index 000000000..58a58b6ff --- /dev/null +++ b/sailpoint/nerm/models/submit_attribute_options200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.attribute_options import AttributeOptions +from sailpoint.nerm.models.job import Job +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITATTRIBUTEOPTIONS200RESPONSE_ONE_OF_SCHEMAS = ["AttributeOptions", "Job"] + +class SubmitAttributeOptions200Response(BaseModel): + """ + SubmitAttributeOptions200Response + """ + # data type: AttributeOptions + oneof_schema_1_validator: Optional[AttributeOptions] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[AttributeOptions, Job]] = None + one_of_schemas: Set[str] = { "AttributeOptions", "Job" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitAttributeOptions200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: AttributeOptions + if not isinstance(v, AttributeOptions): + error_messages.append(f"Error! Input type `{type(v)}` is not `AttributeOptions`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitAttributeOptions200Response with oneOf schemas: AttributeOptions, Job. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitAttributeOptions200Response with oneOf schemas: AttributeOptions, Job. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into AttributeOptions + try: + instance.actual_instance = AttributeOptions.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitAttributeOptions200Response with oneOf schemas: AttributeOptions, Job. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitAttributeOptions200Response with oneOf schemas: AttributeOptions, Job. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], AttributeOptions, Job]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_attribute_options_request.py b/sailpoint/nerm/models/submit_attribute_options_request.py new file mode 100644 index 000000000..72caabeb5 --- /dev/null +++ b/sailpoint/nerm/models/submit_attribute_options_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.attribute_option1 import AttributeOption1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitAttributeOptionsRequest(BaseModel): + """ + SubmitAttributeOptionsRequest + """ # noqa: E501 + ne_attribute_options: Optional[List[AttributeOption1]] = None + __properties: ClassVar[List[str]] = ["ne_attribute_options"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitAttributeOptionsRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ne_attribute_options (list) + _items = [] + if self.ne_attribute_options: + for _item_ne_attribute_options in self.ne_attribute_options: + if _item_ne_attribute_options: + _items.append(_item_ne_attribute_options.to_dict()) + _dict['ne_attribute_options'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitAttributeOptionsRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_options": [AttributeOption1.from_dict(_item) for _item in obj["ne_attribute_options"]] if obj.get("ne_attribute_options") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_profile_request.py b/sailpoint/nerm/models/submit_profile_request.py new file mode 100644 index 000000000..cbae5515a --- /dev/null +++ b/sailpoint/nerm/models/submit_profile_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitProfileRequest(BaseModel): + """ + SubmitProfileRequest + """ # noqa: E501 + profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitProfileRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile + if self.profile: + _dict['profile'] = self.profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitProfileRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile": Profile1.from_dict(obj["profile"]) if obj.get("profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_profile_type200_response.py b/sailpoint/nerm/models/submit_profile_type200_response.py new file mode 100644 index 000000000..c4c81d82e --- /dev/null +++ b/sailpoint/nerm/models/submit_profile_type200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitProfileType200Response(BaseModel): + """ + SubmitProfileType200Response + """ # noqa: E501 + profile_type: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile_type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitProfileType200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile_type + if self.profile_type: + _dict['profile_type'] = self.profile_type.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitProfileType200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type": ProfileType.from_dict(obj["profile_type"]) if obj.get("profile_type") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_profile_type_request.py b/sailpoint/nerm/models/submit_profile_type_request.py new file mode 100644 index 000000000..ed19301c8 --- /dev/null +++ b/sailpoint/nerm/models/submit_profile_type_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitProfileTypeRequest(BaseModel): + """ + SubmitProfileTypeRequest + """ # noqa: E501 + profile_type: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["profile_type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitProfileTypeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile_type + if self.profile_type: + _dict['profile_type'] = self.profile_type.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitProfileTypeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type": ProfileType1.from_dict(obj["profile_type"]) if obj.get("profile_type") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_profile_upload_request.py b/sailpoint/nerm/models/submit_profile_upload_request.py new file mode 100644 index 000000000..10c08b9fd --- /dev/null +++ b/sailpoint/nerm/models/submit_profile_upload_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictBytes, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Tuple, Union +from typing import Optional, Set +from typing_extensions import Self + +class SubmitProfileUploadRequest(BaseModel): + """ + SubmitProfileUploadRequest + """ # noqa: E501 + file: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None + __properties: ClassVar[List[str]] = ["file"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitProfileUploadRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitProfileUploadRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "file": obj.get("file") + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_role200_response.py b/sailpoint/nerm/models/submit_role200_response.py new file mode 100644 index 000000000..26ff3b1af --- /dev/null +++ b/sailpoint/nerm/models/submit_role200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRole200Response(BaseModel): + """ + SubmitRole200Response + """ # noqa: E501 + role: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRole200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of role + if self.role: + _dict['role'] = self.role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRole200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role": Role.from_dict(obj["role"]) if obj.get("role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_role_profile200_response.py b/sailpoint/nerm/models/submit_role_profile200_response.py new file mode 100644 index 000000000..cf4d9201d --- /dev/null +++ b/sailpoint/nerm/models/submit_role_profile200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRoleProfile200Response(BaseModel): + """ + SubmitRoleProfile200Response + """ # noqa: E501 + role_profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["role_profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRoleProfile200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of role_profile + if self.role_profile: + _dict['role_profile'] = self.role_profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRoleProfile200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_profile": RoleProfile.from_dict(obj["role_profile"]) if obj.get("role_profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_role_profile_request.py b/sailpoint/nerm/models/submit_role_profile_request.py new file mode 100644 index 000000000..941409afb --- /dev/null +++ b/sailpoint/nerm/models/submit_role_profile_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRoleProfileRequest(BaseModel): + """ + SubmitRoleProfileRequest + """ # noqa: E501 + role_profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["role_profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRoleProfileRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of role_profile + if self.role_profile: + _dict['role_profile'] = self.role_profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRoleProfileRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_profile": RoleProfile1.from_dict(obj["role_profile"]) if obj.get("role_profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_role_profiles200_response.py b/sailpoint/nerm/models/submit_role_profiles200_response.py new file mode 100644 index 000000000..d78adc78d --- /dev/null +++ b/sailpoint/nerm/models/submit_role_profiles200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.role_profiles import RoleProfiles +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITROLEPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["Job", "RoleProfiles"] + +class SubmitRoleProfiles200Response(BaseModel): + """ + SubmitRoleProfiles200Response + """ + # data type: RoleProfiles + oneof_schema_1_validator: Optional[RoleProfiles] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, RoleProfiles]] = None + one_of_schemas: Set[str] = { "Job", "RoleProfiles" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitRoleProfiles200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: RoleProfiles + if not isinstance(v, RoleProfiles): + error_messages.append(f"Error! Input type `{type(v)}` is not `RoleProfiles`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitRoleProfiles200Response with oneOf schemas: Job, RoleProfiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitRoleProfiles200Response with oneOf schemas: Job, RoleProfiles. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into RoleProfiles + try: + instance.actual_instance = RoleProfiles.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitRoleProfiles200Response with oneOf schemas: Job, RoleProfiles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitRoleProfiles200Response with oneOf schemas: Job, RoleProfiles. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, RoleProfiles]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_role_profiles_request.py b/sailpoint/nerm/models/submit_role_profiles_request.py new file mode 100644 index 000000000..ee27e7817 --- /dev/null +++ b/sailpoint/nerm/models/submit_role_profiles_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.role_profile1 import RoleProfile1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRoleProfilesRequest(BaseModel): + """ + SubmitRoleProfilesRequest + """ # noqa: E501 + role_profiles: Optional[List[RoleProfile1]] = None + __properties: ClassVar[List[str]] = ["role_profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRoleProfilesRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in role_profiles (list) + _items = [] + if self.role_profiles: + for _item_role_profiles in self.role_profiles: + if _item_role_profiles: + _items.append(_item_role_profiles.to_dict()) + _dict['role_profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRoleProfilesRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role_profiles": [RoleProfile1.from_dict(_item) for _item in obj["role_profiles"]] if obj.get("role_profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_role_request.py b/sailpoint/nerm/models/submit_role_request.py new file mode 100644 index 000000000..ec3a868a7 --- /dev/null +++ b/sailpoint/nerm/models/submit_role_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRoleRequest(BaseModel): + """ + SubmitRoleRequest + """ # noqa: E501 + role: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRoleRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of role + if self.role: + _dict['role'] = self.role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRoleRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role": Role1.from_dict(obj["role"]) if obj.get("role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_roles200_response.py b/sailpoint/nerm/models/submit_roles200_response.py new file mode 100644 index 000000000..398a9b241 --- /dev/null +++ b/sailpoint/nerm/models/submit_roles200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.roles import Roles +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITROLES200RESPONSE_ONE_OF_SCHEMAS = ["Job", "Roles"] + +class SubmitRoles200Response(BaseModel): + """ + SubmitRoles200Response + """ + # data type: Roles + oneof_schema_1_validator: Optional[Roles] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, Roles]] = None + one_of_schemas: Set[str] = { "Job", "Roles" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitRoles200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: Roles + if not isinstance(v, Roles): + error_messages.append(f"Error! Input type `{type(v)}` is not `Roles`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitRoles200Response with oneOf schemas: Job, Roles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitRoles200Response with oneOf schemas: Job, Roles. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into Roles + try: + instance.actual_instance = Roles.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitRoles200Response with oneOf schemas: Job, Roles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitRoles200Response with oneOf schemas: Job, Roles. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, Roles]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_roles_request.py b/sailpoint/nerm/models/submit_roles_request.py new file mode 100644 index 000000000..8f8a6480c --- /dev/null +++ b/sailpoint/nerm/models/submit_roles_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.role1 import Role1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitRolesRequest(BaseModel): + """ + SubmitRolesRequest + """ # noqa: E501 + roles: Optional[List[Role1]] = None + __properties: ClassVar[List[str]] = ["roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitRolesRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitRolesRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roles": [Role1.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user200_response.py b/sailpoint/nerm/models/submit_user200_response.py new file mode 100644 index 000000000..5fdda9c00 --- /dev/null +++ b/sailpoint/nerm/models/submit_user200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUser200Response(BaseModel): + """ + SubmitUser200Response + """ # noqa: E501 + user: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUser200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user + if self.user: + _dict['user'] = self.user.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUser200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user": User.from_dict(obj["user"]) if obj.get("user") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_manager200_response.py b/sailpoint/nerm/models/submit_user_manager200_response.py new file mode 100644 index 000000000..52eb19a02 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_manager200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserManager200Response(BaseModel): + """ + SubmitUserManager200Response + """ # noqa: E501 + user_manager: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_manager"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserManager200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_manager + if self.user_manager: + _dict['user_manager'] = self.user_manager.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserManager200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_manager": UserManager.from_dict(obj["user_manager"]) if obj.get("user_manager") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_manager_request.py b/sailpoint/nerm/models/submit_user_manager_request.py new file mode 100644 index 000000000..a2e319029 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_manager_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserManagerRequest(BaseModel): + """ + SubmitUserManagerRequest + """ # noqa: E501 + user_manager: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_manager"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserManagerRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_manager + if self.user_manager: + _dict['user_manager'] = self.user_manager.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserManagerRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_manager": UserManager1.from_dict(obj["user_manager"]) if obj.get("user_manager") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_managers200_response.py b/sailpoint/nerm/models/submit_user_managers200_response.py new file mode 100644 index 000000000..7f725d674 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_managers200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.user_managers import UserManagers +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITUSERMANAGERS200RESPONSE_ONE_OF_SCHEMAS = ["Job", "UserManagers"] + +class SubmitUserManagers200Response(BaseModel): + """ + SubmitUserManagers200Response + """ + # data type: Job + oneof_schema_1_validator: Optional[Job] = None + # data type: UserManagers + oneof_schema_2_validator: Optional[UserManagers] = None + actual_instance: Optional[Union[Job, UserManagers]] = None + one_of_schemas: Set[str] = { "Job", "UserManagers" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitUserManagers200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + # validate data type: UserManagers + if not isinstance(v, UserManagers): + error_messages.append(f"Error! Input type `{type(v)}` is not `UserManagers`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitUserManagers200Response with oneOf schemas: Job, UserManagers. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitUserManagers200Response with oneOf schemas: Job, UserManagers. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into UserManagers + try: + instance.actual_instance = UserManagers.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitUserManagers200Response with oneOf schemas: Job, UserManagers. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitUserManagers200Response with oneOf schemas: Job, UserManagers. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, UserManagers]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_user_managers_request.py b/sailpoint/nerm/models/submit_user_managers_request.py new file mode 100644 index 000000000..b3b6899bd --- /dev/null +++ b/sailpoint/nerm/models/submit_user_managers_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_manager1 import UserManager1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserManagersRequest(BaseModel): + """ + SubmitUserManagersRequest + """ # noqa: E501 + user_managers: Optional[List[UserManager1]] = None + __properties: ClassVar[List[str]] = ["user_managers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserManagersRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_managers (list) + _items = [] + if self.user_managers: + for _item_user_managers in self.user_managers: + if _item_user_managers: + _items.append(_item_user_managers.to_dict()) + _dict['user_managers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserManagersRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_managers": [UserManager1.from_dict(_item) for _item in obj["user_managers"]] if obj.get("user_managers") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_profile200_response.py b/sailpoint/nerm/models/submit_user_profile200_response.py new file mode 100644 index 000000000..9aaea520b --- /dev/null +++ b/sailpoint/nerm/models/submit_user_profile200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserProfile200Response(BaseModel): + """ + SubmitUserProfile200Response + """ # noqa: E501 + user_profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserProfile200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_profile + if self.user_profile: + _dict['user_profile'] = self.user_profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserProfile200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_profile": UserProfile.from_dict(obj["user_profile"]) if obj.get("user_profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_profile_request.py b/sailpoint/nerm/models/submit_user_profile_request.py new file mode 100644 index 000000000..815213e99 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_profile_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserProfileRequest(BaseModel): + """ + SubmitUserProfileRequest + """ # noqa: E501 + user_profile: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserProfileRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_profile + if self.user_profile: + _dict['user_profile'] = self.user_profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserProfileRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_profile": UserProfile1.from_dict(obj["user_profile"]) if obj.get("user_profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_request.py b/sailpoint/nerm/models/submit_user_request.py new file mode 100644 index 000000000..343bf7be8 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserRequest(BaseModel): + """ + SubmitUserRequest + """ # noqa: E501 + user: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user + if self.user: + _dict['user'] = self.user.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user": User1.from_dict(obj["user"]) if obj.get("user") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_role200_response.py b/sailpoint/nerm/models/submit_user_role200_response.py new file mode 100644 index 000000000..84df5a3a9 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_role200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserRole200Response(BaseModel): + """ + SubmitUserRole200Response + """ # noqa: E501 + user_role: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserRole200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_role + if self.user_role: + _dict['user_role'] = self.user_role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserRole200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_role": UserRole.from_dict(obj["user_role"]) if obj.get("user_role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_role_request.py b/sailpoint/nerm/models/submit_user_role_request.py new file mode 100644 index 000000000..8af1a5d77 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_role_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserRoleRequest(BaseModel): + """ + SubmitUserRoleRequest + """ # noqa: E501 + user_role: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["user_role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserRoleRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user_role + if self.user_role: + _dict['user_role'] = self.user_role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserRoleRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_role": UserRole1.from_dict(obj["user_role"]) if obj.get("user_role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_user_roles200_response.py b/sailpoint/nerm/models/submit_user_roles200_response.py new file mode 100644 index 000000000..440a396fc --- /dev/null +++ b/sailpoint/nerm/models/submit_user_roles200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.user_roles import UserRoles +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITUSERROLES200RESPONSE_ONE_OF_SCHEMAS = ["Job", "UserRoles"] + +class SubmitUserRoles200Response(BaseModel): + """ + SubmitUserRoles200Response + """ + # data type: UserRoles + oneof_schema_1_validator: Optional[UserRoles] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, UserRoles]] = None + one_of_schemas: Set[str] = { "Job", "UserRoles" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitUserRoles200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: UserRoles + if not isinstance(v, UserRoles): + error_messages.append(f"Error! Input type `{type(v)}` is not `UserRoles`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitUserRoles200Response with oneOf schemas: Job, UserRoles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitUserRoles200Response with oneOf schemas: Job, UserRoles. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into UserRoles + try: + instance.actual_instance = UserRoles.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitUserRoles200Response with oneOf schemas: Job, UserRoles. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitUserRoles200Response with oneOf schemas: Job, UserRoles. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, UserRoles]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_user_roles_request.py b/sailpoint/nerm/models/submit_user_roles_request.py new file mode 100644 index 000000000..ffd112ee2 --- /dev/null +++ b/sailpoint/nerm/models/submit_user_roles_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_role1 import UserRole1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUserRolesRequest(BaseModel): + """ + SubmitUserRolesRequest + """ # noqa: E501 + user_roles: Optional[List[UserRole1]] = None + __properties: ClassVar[List[str]] = ["user_roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUserRolesRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_roles (list) + _items = [] + if self.user_roles: + for _item_user_roles in self.user_roles: + if _item_user_roles: + _items.append(_item_user_roles.to_dict()) + _dict['user_roles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUserRolesRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_roles": [UserRole1.from_dict(_item) for _item in obj["user_roles"]] if obj.get("user_roles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_users200_response.py b/sailpoint/nerm/models/submit_users200_response.py new file mode 100644 index 000000000..e1892bf6f --- /dev/null +++ b/sailpoint/nerm/models/submit_users200_response.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from sailpoint.nerm.models.job import Job +from sailpoint.nerm.models.users import Users +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +SUBMITUSERS200RESPONSE_ONE_OF_SCHEMAS = ["Job", "Users"] + +class SubmitUsers200Response(BaseModel): + """ + SubmitUsers200Response + """ + # data type: Users + oneof_schema_1_validator: Optional[Users] = None + # data type: Job + oneof_schema_2_validator: Optional[Job] = None + actual_instance: Optional[Union[Job, Users]] = None + one_of_schemas: Set[str] = { "Job", "Users" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = SubmitUsers200Response.model_construct() + error_messages = [] + match = 0 + # validate data type: Users + if not isinstance(v, Users): + error_messages.append(f"Error! Input type `{type(v)}` is not `Users`") + else: + match += 1 + # validate data type: Job + if not isinstance(v, Job): + error_messages.append(f"Error! Input type `{type(v)}` is not `Job`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in SubmitUsers200Response with oneOf schemas: Job, Users. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in SubmitUsers200Response with oneOf schemas: Job, Users. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into Users + try: + instance.actual_instance = Users.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into Job + try: + instance.actual_instance = Job.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into SubmitUsers200Response with oneOf schemas: Job, Users. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into SubmitUsers200Response with oneOf schemas: Job, Users. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], Job, Users]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/sailpoint/nerm/models/submit_users_request.py b/sailpoint/nerm/models/submit_users_request.py new file mode 100644 index 000000000..bf570c69b --- /dev/null +++ b/sailpoint/nerm/models/submit_users_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user1 import User1 +from typing import Optional, Set +from typing_extensions import Self + +class SubmitUsersRequest(BaseModel): + """ + SubmitUsersRequest + """ # noqa: E501 + users: Optional[List[User1]] = None + __properties: ClassVar[List[str]] = ["users"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitUsersRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in users (list) + _items = [] + if self.users: + for _item_users in self.users: + if _item_users: + _items.append(_item_users.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitUsersRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "users": [User1.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_workflow_session200_response.py b/sailpoint/nerm/models/submit_workflow_session200_response.py new file mode 100644 index 000000000..882cb14ce --- /dev/null +++ b/sailpoint/nerm/models/submit_workflow_session200_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitWorkflowSession200Response(BaseModel): + """ + SubmitWorkflowSession200Response + """ # noqa: E501 + workflow_session: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_session"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitWorkflowSession200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_session + if self.workflow_session: + _dict['workflow_session'] = self.workflow_session.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitWorkflowSession200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_session": WorkflowSession.from_dict(obj["workflow_session"]) if obj.get("workflow_session") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/submit_workflow_session_request.py b/sailpoint/nerm/models/submit_workflow_session_request.py new file mode 100644 index 000000000..709190c74 --- /dev/null +++ b/sailpoint/nerm/models/submit_workflow_session_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubmitWorkflowSessionRequest(BaseModel): + """ + SubmitWorkflowSessionRequest + """ # noqa: E501 + workflow_session: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["workflow_session"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubmitWorkflowSessionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of workflow_session + if self.workflow_session: + _dict['workflow_session'] = self.workflow_session.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubmitWorkflowSessionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_session": WorkflowSession1.from_dict(obj["workflow_session"]) if obj.get("workflow_session") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/synced_attribute.py b/sailpoint/nerm/models/synced_attribute.py new file mode 100644 index 000000000..5f992d4c6 --- /dev/null +++ b/sailpoint/nerm/models/synced_attribute.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SyncedAttribute(BaseModel): + """ + SyncedAttribute + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="synced attribute's ID") + profile_type_id: Optional[StrictStr] = Field(default=None, description="Profile type ID of synced attribute") + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="Ne attribute ID of synced attribute") + __properties: ClassVar[List[str]] = ["id", "profile_type_id", "ne_attribute_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SyncedAttribute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "profile_type_id", + "ne_attribute_id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SyncedAttribute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "profile_type_id": obj.get("profile_type_id"), + "ne_attribute_id": obj.get("ne_attribute_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/synced_attribute1.py b/sailpoint/nerm/models/synced_attribute1.py new file mode 100644 index 000000000..fb1b912ef --- /dev/null +++ b/sailpoint/nerm/models/synced_attribute1.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SyncedAttribute1(BaseModel): + """ + SyncedAttribute1 + """ # noqa: E501 + ne_attribute_id: Optional[StrictStr] = Field(default=None, description="synced attribute's ID") + __properties: ClassVar[List[str]] = ["ne_attribute_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SyncedAttribute1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SyncedAttribute1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ne_attribute_id": obj.get("ne_attribute_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/system_role.py b/sailpoint/nerm/models/system_role.py new file mode 100644 index 000000000..9ef9502a3 --- /dev/null +++ b/sailpoint/nerm/models/system_role.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SystemRole(BaseModel): + """ + SystemRole + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The unique identifier for the object") + uid: Optional[StrictStr] = Field(default=None, description="The user identifier for the object") + name: Optional[StrictStr] = Field(default=None, description="The name of the role") + __properties: ClassVar[List[str]] = ["id", "uid", "name"] + + @field_validator('uid') + def uid_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['profile_contributor', 'profile_owner']): + warnings.warn(f"must be one of enum values ('profile_contributor', 'profile_owner') unknown value: {value}") + return value + + @field_validator('name') + def name_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Profile Contributor', 'Profile Owner']): + warnings.warn(f"must be one of enum values ('Profile Contributor', 'Profile Owner') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SystemRole from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SystemRole from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "name": obj.get("name") + }) + return _obj + + diff --git a/sailpoint/nerm/models/system_role_permission.py b/sailpoint/nerm/models/system_role_permission.py new file mode 100644 index 000000000..9f4ffc59f --- /dev/null +++ b/sailpoint/nerm/models/system_role_permission.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SystemRolePermission(BaseModel): + """ + SystemRolePermission + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the system role permission") + system_role_id: Optional[StrictStr] = Field(default=None, description="The id of the system role") + value: Optional[StrictInt] = Field(default=None, description="The permissions level of access") + subject: Optional[StrictInt] = Field(default=None, description="The type of permission") + subject_id: Optional[StrictStr] = Field(default=None, description="The ID of the object that the permission is giving access to") + __properties: ClassVar[List[str]] = ["id", "system_role_id", "value", "subject", "subject_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SystemRolePermission from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SystemRolePermission from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "system_role_id": obj.get("system_role_id"), + "value": obj.get("value"), + "subject": obj.get("subject"), + "subject_id": obj.get("subject_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/system_role_permission1.py b/sailpoint/nerm/models/system_role_permission1.py new file mode 100644 index 000000000..12c374928 --- /dev/null +++ b/sailpoint/nerm/models/system_role_permission1.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SystemRolePermission1(BaseModel): + """ + SystemRolePermission1 + """ # noqa: E501 + system_role_id: Optional[StrictStr] = Field(default=None, description="The id of the system role") + subject_id: Optional[StrictStr] = Field(default=None, description="The ID of the object that the permission is giving access to") + value: Optional[StrictInt] = Field(default=None, description="The permissions level of access") + subject: Optional[StrictInt] = Field(default=None, description="The type of permission") + __properties: ClassVar[List[str]] = ["system_role_id", "subject_id", "value", "subject"] + + @field_validator('value') + def value_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set([1, 2, 3, 4, 5, 6, 7]): + warnings.warn(f"must be one of enum values (1, 2, 3, 4, 5, 6, 7) unknown value: {value}") + return value + + @field_validator('subject') + def subject_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set([0, 2, 14]): + warnings.warn(f"must be one of enum values (0, 2, 14) unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SystemRolePermission1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SystemRolePermission1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "system_role_id": obj.get("system_role_id"), + "subject_id": obj.get("subject_id"), + "value": obj.get("value"), + "subject": obj.get("subject") + }) + return _obj + + diff --git a/sailpoint/nerm/models/unassign_action.py b/sailpoint/nerm/models/unassign_action.py new file mode 100644 index 000000000..16309318e --- /dev/null +++ b/sailpoint/nerm/models/unassign_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UnassignAction(BaseModel): + """ + UnassignAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UnassignAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UnassignAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_form_by_id_request.py b/sailpoint/nerm/models/update_form_by_id_request.py new file mode 100644 index 000000000..10dedd635 --- /dev/null +++ b/sailpoint/nerm/models/update_form_by_id_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.form1 import Form1 +from typing import Optional, Set +from typing_extensions import Self + +class UpdateFormByIdRequest(BaseModel): + """ + UpdateFormByIdRequest + """ # noqa: E501 + role: Optional[Form1] = None + __properties: ClassVar[List[str]] = ["role"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateFormByIdRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of role + if self.role: + _dict['role'] = self.role.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateFormByIdRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "role": Form1.from_dict(obj["role"]) if obj.get("role") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_page_content_translation_by_id_request.py b/sailpoint/nerm/models/update_page_content_translation_by_id_request.py new file mode 100644 index 000000000..4bb256c22 --- /dev/null +++ b/sailpoint/nerm/models/update_page_content_translation_by_id_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UpdatePageContentTranslationByIdRequest(BaseModel): + """ + UpdatePageContentTranslationByIdRequest + """ # noqa: E501 + page_content_translation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["page_content_translation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdatePageContentTranslationByIdRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of page_content_translation + if self.page_content_translation: + _dict['page_content_translation'] = self.page_content_translation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdatePageContentTranslationByIdRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "page_content_translation": PageContent1.from_dict(obj["page_content_translation"]) if obj.get("page_content_translation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_profile_action.py b/sailpoint/nerm/models/update_profile_action.py new file mode 100644 index 000000000..b7cb1fe79 --- /dev/null +++ b/sailpoint/nerm/models/update_profile_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UpdateProfileAction(BaseModel): + """ + UpdateProfileAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateProfileAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateProfileAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_profile_request.py b/sailpoint/nerm/models/update_profile_request.py new file mode 100644 index 000000000..6329570c4 --- /dev/null +++ b/sailpoint/nerm/models/update_profile_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List +from sailpoint.nerm.models.update_profile_request_profile import UpdateProfileRequestProfile +from typing import Optional, Set +from typing_extensions import Self + +class UpdateProfileRequest(BaseModel): + """ + UpdateProfileRequest + """ # noqa: E501 + profile: UpdateProfileRequestProfile + __properties: ClassVar[List[str]] = ["profile"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateProfileRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of profile + if self.profile: + _dict['profile'] = self.profile.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateProfileRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile": UpdateProfileRequestProfile.from_dict(obj["profile"]) if obj.get("profile") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_profile_request_profile.py b/sailpoint/nerm/models/update_profile_request_profile.py new file mode 100644 index 000000000..01a1d1c9c --- /dev/null +++ b/sailpoint/nerm/models/update_profile_request_profile.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UpdateProfileRequestProfile(BaseModel): + """ + The profile object to be updated with its schema-mapped attributes. + """ # noqa: E501 + attributes: Optional[Dict[str, Any]] = Field(default=None, description="schema-mapped attributes to be updated") + __properties: ClassVar[List[str]] = ["attributes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateProfileRequestProfile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateProfileRequestProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "attributes": obj.get("attributes") + }) + return _obj + + diff --git a/sailpoint/nerm/models/update_workflow.py b/sailpoint/nerm/models/update_workflow.py new file mode 100644 index 000000000..f744d6b02 --- /dev/null +++ b/sailpoint/nerm/models/update_workflow.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UpdateWorkflow(BaseModel): + """ + UpdateWorkflow + """ # noqa: E501 + profile_type_id: StrictStr = Field(description="The profile type the workflow effects.") + status: StrictStr = Field(description="Whether or not the workflow is enabled or disabled.") + uid: StrictStr = Field(description="The user-specified identifier of the workflow.") + name: StrictStr = Field(description="Name of the workflow") + profile_status: StrictStr = Field(description="The status of the profiles the workflow will effect.") + disable_failure_email_notifications: Optional[StrictBool] = Field(default=None, description="When honored at runtime, suppresses failure email notifications for this workflow's sessions.") + __properties: ClassVar[List[str]] = ["profile_type_id", "status", "uid", "name", "profile_status", "disable_failure_email_notifications"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['Enabled', 'Disabled']): + warnings.warn(f"must be one of enum values ('Enabled', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateWorkflow from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if disable_failure_email_notifications (nullable) is None + # and model_fields_set contains the field + if self.disable_failure_email_notifications is None and "disable_failure_email_notifications" in self.model_fields_set: + _dict['disable_failure_email_notifications'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateWorkflow from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profile_type_id": obj.get("profile_type_id"), + "status": obj.get("status"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "profile_status": obj.get("profile_status"), + "disable_failure_email_notifications": obj.get("disable_failure_email_notifications") + }) + return _obj + + diff --git a/sailpoint/nerm/models/url.py b/sailpoint/nerm/models/url.py new file mode 100644 index 000000000..04b12c382 --- /dev/null +++ b/sailpoint/nerm/models/url.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Url(BaseModel): + """ + Url + """ # noqa: E501 + url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["url"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Url from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "url", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Url from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "url": obj.get("url") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user.py b/sailpoint/nerm/models/user.py new file mode 100644 index 000000000..e61b02c45 --- /dev/null +++ b/sailpoint/nerm/models/user.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class User(BaseModel): + """ + User + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID of the object to retrieve or update") + uid: Optional[StrictStr] = Field(default=None, description="UID of the user") + name: Optional[StrictStr] = Field(default=None, description="The name") + email: Optional[StrictStr] = Field(default=None, description="The email") + type: Optional[StrictStr] = Field(default='NeprofileUser', description="Type of user") + title: Optional[StrictStr] = Field(default=None, description="The title") + status: Optional[StrictStr] = Field(default=None, description="Status of the user") + login: Optional[StrictStr] = Field(default=None, description="The login") + last_login: Optional[datetime] = Field(default=None, description="When the user last logged in") + cookies_accepted_at: Optional[datetime] = Field(default=None, description="When cookies were accepted") + preferred_language: Optional[StrictStr] = Field(default=None, description="The locale the user prefers to use") + locale: Optional[StrictStr] = Field(default=None, description="The locale the user prefers to use") + group_strings: Optional[StrictStr] = Field(default=None, description="Group strings configured on the customer's Active Directory configuration, provided by the IDP at the moment on authentication.") + sailpoint_identity_id: Optional[StrictStr] = Field(default=None, description="The identity ID of the user in ISC") + __properties: ClassVar[List[str]] = ["id", "uid", "name", "email", "type", "title", "status", "login", "last_login", "cookies_accepted_at", "preferred_language", "locale", "group_strings", "sailpoint_identity_id"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NeprofileUser', 'NeaccessUser']): + warnings.warn(f"must be one of enum values ('NeprofileUser', 'NeaccessUser') unknown value: {value}") + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Active', 'Pending', 'Disabled']): + warnings.warn(f"must be one of enum values ('Active', 'Pending', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of User from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "last_login", + "cookies_accepted_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of User from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "name": obj.get("name"), + "email": obj.get("email"), + "type": obj.get("type") if obj.get("type") is not None else 'NeprofileUser', + "title": obj.get("title"), + "status": obj.get("status"), + "login": obj.get("login"), + "last_login": obj.get("last_login"), + "cookies_accepted_at": obj.get("cookies_accepted_at"), + "preferred_language": obj.get("preferred_language"), + "locale": obj.get("locale"), + "group_strings": obj.get("group_strings"), + "sailpoint_identity_id": obj.get("sailpoint_identity_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user1.py b/sailpoint/nerm/models/user1.py new file mode 100644 index 000000000..e398a661c --- /dev/null +++ b/sailpoint/nerm/models/user1.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class User1(BaseModel): + """ + User1 + """ # noqa: E501 + name: StrictStr = Field(description="The user name") + email: StrictStr = Field(description="The user email") + type: StrictStr = Field(description="The user type") + profile_id: Optional[StrictStr] = Field(default=None, description="The user profile id. Not required for NeprofileUser") + title: Optional[StrictStr] = Field(default=None, description="The user description") + status: Optional[StrictStr] = Field(default=None, description="The user status") + login: StrictStr = Field(description="The user login") + group_strings: Optional[StrictStr] = Field(default=None, description="The user group strings") + locale: Optional[StrictStr] = Field(default=None, description="The locale the user prefers to use") + password: Optional[StrictStr] = Field(default=None, description="The user password. Not required for NeprofileUser") + sailpoint_identity_id: Optional[StrictStr] = Field(default=None, description="The SailPoint Identity ID associated with this user") + __properties: ClassVar[List[str]] = ["name", "email", "type", "profile_id", "title", "status", "login", "group_strings", "locale", "password", "sailpoint_identity_id"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['NeprofileUser', 'NeaccessUser']): + warnings.warn(f"must be one of enum values ('NeprofileUser', 'NeaccessUser') unknown value: {value}") + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Active', 'Pending', 'Disabled']): + warnings.warn(f"must be one of enum values ('Active', 'Pending', 'Disabled') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of User1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of User1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "email": obj.get("email"), + "type": obj.get("type") if obj.get("type") is not None else 'NeprofileUser', + "profile_id": obj.get("profile_id"), + "title": obj.get("title"), + "status": obj.get("status"), + "login": obj.get("login"), + "group_strings": obj.get("group_strings"), + "locale": obj.get("locale"), + "password": obj.get("password"), + "sailpoint_identity_id": obj.get("sailpoint_identity_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_manager.py b/sailpoint/nerm/models/user_manager.py new file mode 100644 index 000000000..664813162 --- /dev/null +++ b/sailpoint/nerm/models/user_manager.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserManager(BaseModel): + """ + UserManager + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + manager_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "user_id", "manager_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserManager from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserManager from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "user_id": obj.get("user_id"), + "manager_id": obj.get("manager_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_manager1.py b/sailpoint/nerm/models/user_manager1.py new file mode 100644 index 000000000..1883e4358 --- /dev/null +++ b/sailpoint/nerm/models/user_manager1.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserManager1(BaseModel): + """ + UserManager1 + """ # noqa: E501 + user_id: Optional[StrictStr] = None + manager_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["user_id", "manager_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserManager1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserManager1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "manager_id": obj.get("manager_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_managers.py b/sailpoint/nerm/models/user_managers.py new file mode 100644 index 000000000..6b52142e1 --- /dev/null +++ b/sailpoint/nerm/models/user_managers.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_manager import UserManager +from typing import Optional, Set +from typing_extensions import Self + +class UserManagers(BaseModel): + """ + UserManagers + """ # noqa: E501 + user_managers: Optional[List[UserManager]] = None + __properties: ClassVar[List[str]] = ["user_managers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserManagers from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_managers (list) + _items = [] + if self.user_managers: + for _item_user_managers in self.user_managers: + if _item_user_managers: + _items.append(_item_user_managers.to_dict()) + _dict['user_managers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserManagers from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_managers": [UserManager.from_dict(_item) for _item in obj["user_managers"]] if obj.get("user_managers") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_profile.py b/sailpoint/nerm/models/user_profile.py new file mode 100644 index 000000000..d51690c14 --- /dev/null +++ b/sailpoint/nerm/models/user_profile.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserProfile(BaseModel): + """ + UserProfile + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + profile_id: Optional[StrictStr] = None + ne_attribute_id: Optional[StrictStr] = None + relationship_type: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "user_id", "profile_id", "ne_attribute_id", "relationship_type"] + + @field_validator('relationship_type') + def relationship_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['owner', 'contributor']): + warnings.warn(f"must be one of enum values ('owner', 'contributor') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserProfile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "user_id": obj.get("user_id"), + "profile_id": obj.get("profile_id"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "relationship_type": obj.get("relationship_type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_profile1.py b/sailpoint/nerm/models/user_profile1.py new file mode 100644 index 000000000..74a7fc002 --- /dev/null +++ b/sailpoint/nerm/models/user_profile1.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserProfile1(BaseModel): + """ + UserProfile1 + """ # noqa: E501 + user_id: Optional[StrictStr] = None + profile_id: Optional[StrictStr] = None + ne_attribute_id: Optional[StrictStr] = None + relationship_type: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["user_id", "profile_id", "ne_attribute_id", "relationship_type"] + + @field_validator('relationship_type') + def relationship_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['owner', 'contributor']): + warnings.warn(f"must be one of enum values ('owner', 'contributor') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserProfile1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserProfile1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "profile_id": obj.get("profile_id"), + "ne_attribute_id": obj.get("ne_attribute_id"), + "relationship_type": obj.get("relationship_type") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_profiles.py b/sailpoint/nerm/models/user_profiles.py new file mode 100644 index 000000000..0ac21868b --- /dev/null +++ b/sailpoint/nerm/models/user_profiles.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_profile import UserProfile +from typing import Optional, Set +from typing_extensions import Self + +class UserProfiles(BaseModel): + """ + UserProfiles + """ # noqa: E501 + user_profiles: Optional[List[UserProfile]] = None + __properties: ClassVar[List[str]] = ["user_profiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserProfiles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_profiles (list) + _items = [] + if self.user_profiles: + for _item_user_profiles in self.user_profiles: + if _item_user_profiles: + _items.append(_item_user_profiles.to_dict()) + _dict['user_profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserProfiles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_profiles": [UserProfile.from_dict(_item) for _item in obj["user_profiles"]] if obj.get("user_profiles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_role.py b/sailpoint/nerm/models/user_role.py new file mode 100644 index 000000000..6e93b9230 --- /dev/null +++ b/sailpoint/nerm/models/user_role.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserRole(BaseModel): + """ + UserRole + """ # noqa: E501 + id: Optional[StrictStr] = None + uid: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + role_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "uid", "user_id", "role_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserRole from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserRole from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "user_id": obj.get("user_id"), + "role_id": obj.get("role_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_role1.py b/sailpoint/nerm/models/user_role1.py new file mode 100644 index 000000000..57c61cadc --- /dev/null +++ b/sailpoint/nerm/models/user_role1.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UserRole1(BaseModel): + """ + UserRole1 + """ # noqa: E501 + user_id: Optional[StrictStr] = None + role_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["user_id", "role_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserRole1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserRole1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "role_id": obj.get("role_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/user_roles.py b/sailpoint/nerm/models/user_roles.py new file mode 100644 index 000000000..33b97ddbb --- /dev/null +++ b/sailpoint/nerm/models/user_roles.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user_role import UserRole +from typing import Optional, Set +from typing_extensions import Self + +class UserRoles(BaseModel): + """ + UserRoles + """ # noqa: E501 + user_roles: Optional[List[UserRole]] = None + __properties: ClassVar[List[str]] = ["user_roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserRoles from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in user_roles (list) + _items = [] + if self.user_roles: + for _item_user_roles in self.user_roles: + if _item_user_roles: + _items.append(_item_user_roles.to_dict()) + _dict['user_roles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserRoles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_roles": [UserRole.from_dict(_item) for _item in obj["user_roles"]] if obj.get("user_roles") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/username_password_action.py b/sailpoint/nerm/models/username_password_action.py new file mode 100644 index 000000000..0c1caaab6 --- /dev/null +++ b/sailpoint/nerm/models/username_password_action.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UsernamePasswordAction(BaseModel): + """ + UsernamePasswordAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: StrictStr = Field(description="The description of the workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "archived"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsernamePasswordAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsernamePasswordAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "archived": obj.get("archived") if obj.get("archived") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/users.py b/sailpoint/nerm/models/users.py new file mode 100644 index 000000000..654ce71d2 --- /dev/null +++ b/sailpoint/nerm/models/users.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.models.user import User +from typing import Optional, Set +from typing_extensions import Self + +class Users(BaseModel): + """ + Users + """ # noqa: E501 + users: Optional[List[User]] = None + __properties: ClassVar[List[str]] = ["users"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Users from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in users (list) + _items = [] + if self.users: + for _item_users in self.users: + if _item_users: + _items.append(_item_users.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Users from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "users": [User.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/models/validation_errors.py b/sailpoint/nerm/models/validation_errors.py new file mode 100644 index 000000000..ad113925f --- /dev/null +++ b/sailpoint/nerm/models/validation_errors.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ValidationErrors(BaseModel): + """ + ValidationErrors + """ # noqa: E501 + error: Optional[Dict[str, Any]] = None + errors: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["error", "errors"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ValidationErrors from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ValidationErrors from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error"), + "errors": obj.get("errors") + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_action.py b/sailpoint/nerm/models/workflow_action.py new file mode 100644 index 000000000..0300004ea --- /dev/null +++ b/sailpoint/nerm/models/workflow_action.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowAction(BaseModel): + """ + WorkflowAction + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow the workflow action belongs to.") + description: Optional[StrictStr] = Field(default=None, description="The description of the workflow action.") + page_id: StrictStr = Field(description="The page the workflow action should render.") + add_requester_as_owner: Optional[StrictBool] = Field(default=True, description="If the requester should be added as the owner of the profile to be created.") + email_attribute_id: Optional[StrictStr] = Field(default=None, description="The attribute storing the email address for the workflow action.") + email_addresses: Optional[List[StrictStr]] = Field(default=None, description="The email addresses for the workflow action.") + new_status: Optional[StrictStr] = Field(default=None, description="The new status for the Status Change workflow action.") + archived: Optional[StrictBool] = Field(default=False, description="If the workflow action is archived or not.") + skippable: Optional[StrictBool] = Field(default=False, description="If the workflow action is skippable or not.") + requires_comment: Optional[StrictBool] = Field(default=False, description="If the workflow action requires a comment or not.") + __properties: ClassVar[List[str]] = ["workflow_id", "description", "page_id", "add_requester_as_owner", "email_attribute_id", "email_addresses", "new_status", "archived", "skippable", "requires_comment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "description": obj.get("description"), + "page_id": obj.get("page_id"), + "add_requester_as_owner": obj.get("add_requester_as_owner") if obj.get("add_requester_as_owner") is not None else True, + "email_attribute_id": obj.get("email_attribute_id"), + "email_addresses": obj.get("email_addresses"), + "new_status": obj.get("new_status"), + "archived": obj.get("archived") if obj.get("archived") is not None else False, + "skippable": obj.get("skippable") if obj.get("skippable") is not None else False, + "requires_comment": obj.get("requires_comment") if obj.get("requires_comment") is not None else False + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_action_performers.py b/sailpoint/nerm/models/workflow_action_performers.py new file mode 100644 index 000000000..26ac61e46 --- /dev/null +++ b/sailpoint/nerm/models/workflow_action_performers.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowActionPerformers(BaseModel): + """ + WorkflowActionPerformers + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the workflow action performer that was created.") + contributor_attribute_id: Optional[StrictStr] = Field(default=None, description="The id of the user attribute to perform the action.") + contributors: Optional[StrictBool] = Field(default=False, description="Set to allow profile contributor to perform the action.") + contributors_manager_attribute_id: Optional[StrictStr] = Field(default=None, description="The id of the user attribute to perform the action.") + owner: Optional[StrictBool] = Field(default=False, description="Set to allow profile owner to perform the action.") + profiles_contributors_attribute_id: Optional[StrictStr] = Field(default=None, description="The id of the profile attribute to perform the action.") + requester: Optional[StrictBool] = Field(default=False, description="Set to allow requester from the request to perform the action.") + requesters_manager: Optional[StrictBool] = Field(default=False, description="Set to allow the requester's manager from the request to perform the action.") + workflow_action_id: Optional[StrictStr] = Field(default=None, description="The id of the workflow action.") + __properties: ClassVar[List[str]] = ["id", "contributor_attribute_id", "contributors", "contributors_manager_attribute_id", "owner", "profiles_contributors_attribute_id", "requester", "requesters_manager", "workflow_action_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowActionPerformers from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowActionPerformers from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "contributor_attribute_id": obj.get("contributor_attribute_id"), + "contributors": obj.get("contributors") if obj.get("contributors") is not None else False, + "contributors_manager_attribute_id": obj.get("contributors_manager_attribute_id"), + "owner": obj.get("owner") if obj.get("owner") is not None else False, + "profiles_contributors_attribute_id": obj.get("profiles_contributors_attribute_id"), + "requester": obj.get("requester") if obj.get("requester") is not None else False, + "requesters_manager": obj.get("requesters_manager") if obj.get("requesters_manager") is not None else False, + "workflow_action_id": obj.get("workflow_action_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_action_performers1.py b/sailpoint/nerm/models/workflow_action_performers1.py new file mode 100644 index 000000000..8ae65e02d --- /dev/null +++ b/sailpoint/nerm/models/workflow_action_performers1.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowActionPerformers1(BaseModel): + """ + WorkflowActionPerformers1 + """ # noqa: E501 + contributor_attribute_id: Optional[StrictStr] = Field(default=None, description="Specify the id of the user attribute to perform the action.") + contributors: Optional[StrictBool] = Field(default=False, description="Set to true to allow profile contributor to perform the action.") + contributors_manager_attribute_id: Optional[StrictStr] = Field(default=None, description="Specify the id of the user attribute to perform the action.") + owner: Optional[StrictBool] = Field(default=False, description="Set to true to allow profile owner to perform the action.") + profiles_contributors_attribute_id: Optional[StrictStr] = Field(default=None, description="Specify the id of the profile attribute to perform the action.") + requester: Optional[StrictBool] = Field(default=False, description="Set to true to allow requester from the request to perform the action.") + requesters_manager: Optional[StrictBool] = Field(default=False, description="Set to true to allow the requester's manager from the request to perform the action.") + workflow_action_id: Optional[StrictStr] = Field(default=None, description="Specify the id of the workflow action you would like to create the workflow action performer/s for.") + __properties: ClassVar[List[str]] = ["contributor_attribute_id", "contributors", "contributors_manager_attribute_id", "owner", "profiles_contributors_attribute_id", "requester", "requesters_manager", "workflow_action_id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowActionPerformers1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowActionPerformers1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "contributor_attribute_id": obj.get("contributor_attribute_id"), + "contributors": obj.get("contributors") if obj.get("contributors") is not None else False, + "contributors_manager_attribute_id": obj.get("contributors_manager_attribute_id"), + "owner": obj.get("owner") if obj.get("owner") is not None else False, + "profiles_contributors_attribute_id": obj.get("profiles_contributors_attribute_id"), + "requester": obj.get("requester") if obj.get("requester") is not None else False, + "requesters_manager": obj.get("requesters_manager") if obj.get("requesters_manager") is not None else False, + "workflow_action_id": obj.get("workflow_action_id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_page.py b/sailpoint/nerm/models/workflow_page.py new file mode 100644 index 000000000..b2fd92219 --- /dev/null +++ b/sailpoint/nerm/models/workflow_page.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowPage(BaseModel): + """ + WorkflowPage + """ # noqa: E501 + uid: Optional[StrictStr] = Field(default=None, description="The user-specified identifier of the page") + description: Optional[StrictStr] = Field(default=None, description="The description of the page") + name: Optional[StrictStr] = Field(default=None, description="The name of the page") + archived: Optional[StrictBool] = Field(default=None, description="Determines whether the page is archived") + id: Optional[StrictStr] = Field(default=None, description="The id of the form") + __properties: ClassVar[List[str]] = ["uid", "description", "name", "archived", "id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowPage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowPage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uid": obj.get("uid"), + "description": obj.get("description"), + "name": obj.get("name"), + "archived": obj.get("archived"), + "id": obj.get("id") + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_session.py b/sailpoint/nerm/models/workflow_session.py new file mode 100644 index 000000000..bbd43e5a1 --- /dev/null +++ b/sailpoint/nerm/models/workflow_session.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowSession(BaseModel): + """ + WorkflowSession + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The objects ID.") + uid: Optional[StrictStr] = Field(default=None, description="The objects UID.") + workflow_id: Optional[StrictStr] = Field(default=None, description="The workflow id.") + requester_id: Optional[StrictStr] = Field(default=None, description="The requester's id.") + requester_type: Optional[StrictStr] = Field(default=None, description="The requester type.") + profile_id: Optional[StrictStr] = Field(default=None, description="The profile this workflow session will be working with. Only Applicable for Update workflows") + profile_ids: Optional[List[StrictStr]] = Field(default=None, description="The profiles this workflow session will be working with. Only Applicable for Batch workflows") + status: Optional[StrictStr] = Field(default=None, description="The status of the workflow session.") + attributes: Optional[Dict[str, StrictStr]] = Field(default=None, description="The attributes asscoiated with the workflow session.") + __properties: ClassVar[List[str]] = ["id", "uid", "workflow_id", "requester_id", "requester_type", "profile_id", "profile_ids", "status", "attributes"] + + @field_validator('requester_type') + def requester_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['User', 'NeprofileUser', 'NeaccessUser']): + warnings.warn(f"must be one of enum values ('User', 'NeprofileUser', 'NeaccessUser') unknown value: {value}") + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['api_request_sent', 'approved', 'assigned', 'attempting_to_start_workflow', 'AUTH-STATUS1', 'AUTH-STATUS2', 'AUTH-STATUS3', 'AUTH-STATUS4', 'AUTH-STATUS5', 'AUTH-STATUS6', 'AUTH-STATUS7', 'AUTH-STATUS8', 'AUTH-STATUS9', 'auto_assigned', 'batch_completed', 'checking_for_duplicates', 'closed', 'completed', 'courion_add', 'courion_extend', 'courion_terminate', 'courion_update', 'duplicates_resolved', 'failed', 'fulfilled', 'invitation_sent', 'ldap_provided', 'new', 'non_employee_created', 'non_employee_updated', 'notified', 'pending_approval', 'pending_assignment', 'pending_courion_add', 'pending_courion_extend', 'pending_courion_terminate', 'pending_courion_update', 'pending_creation', 'pending_fulfillment', 'pending_ldap', 'pending_notification', 'pending_profile_select', 'pending_request', 'pending_review', 'pending_status_change', 'pending_stored_procedure', 'pending_trigger', 'pending_update', 'processing', 'profile_check_complete', 'profiles_selected', 'rejected', 'requested', 'reviewed', 'soap_request_sent', 'started_workflow', 'status_changed', 'stored_procedure', 'un_assigned', 'waiting_on_workflow', 'workflow_changed']): + warnings.warn(f"must be one of enum values ('api_request_sent', 'approved', 'assigned', 'attempting_to_start_workflow', 'AUTH-STATUS1', 'AUTH-STATUS2', 'AUTH-STATUS3', 'AUTH-STATUS4', 'AUTH-STATUS5', 'AUTH-STATUS6', 'AUTH-STATUS7', 'AUTH-STATUS8', 'AUTH-STATUS9', 'auto_assigned', 'batch_completed', 'checking_for_duplicates', 'closed', 'completed', 'courion_add', 'courion_extend', 'courion_terminate', 'courion_update', 'duplicates_resolved', 'failed', 'fulfilled', 'invitation_sent', 'ldap_provided', 'new', 'non_employee_created', 'non_employee_updated', 'notified', 'pending_approval', 'pending_assignment', 'pending_courion_add', 'pending_courion_extend', 'pending_courion_terminate', 'pending_courion_update', 'pending_creation', 'pending_fulfillment', 'pending_ldap', 'pending_notification', 'pending_profile_select', 'pending_request', 'pending_review', 'pending_status_change', 'pending_stored_procedure', 'pending_trigger', 'pending_update', 'processing', 'profile_check_complete', 'profiles_selected', 'rejected', 'requested', 'reviewed', 'soap_request_sent', 'started_workflow', 'status_changed', 'stored_procedure', 'un_assigned', 'waiting_on_workflow', 'workflow_changed') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowSession from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "id", + "uid", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowSession from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "workflow_id": obj.get("workflow_id"), + "requester_id": obj.get("requester_id"), + "requester_type": obj.get("requester_type"), + "profile_id": obj.get("profile_id"), + "profile_ids": obj.get("profile_ids"), + "status": obj.get("status"), + "attributes": obj.get("attributes") + }) + return _obj + + diff --git a/sailpoint/nerm/models/workflow_session1.py b/sailpoint/nerm/models/workflow_session1.py new file mode 100644 index 000000000..7d48f10b9 --- /dev/null +++ b/sailpoint/nerm/models/workflow_session1.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WorkflowSession1(BaseModel): + """ + WorkflowSession1 + """ # noqa: E501 + workflow_id: StrictStr = Field(description="The workflow id.") + requester_id: StrictStr = Field(description="The requester's id.") + requester_type: StrictStr = Field(description="The requester type.") + profile_id: Optional[StrictStr] = Field(default=None, description="The profile this workflow session will be working with. Only Applicable for Update workflows") + profile_ids: Optional[List[StrictStr]] = Field(default=None, description="The profiles this workflow session will be working with. Only Applicable for Batch workflows") + attributes: Optional[Dict[str, StrictStr]] = Field(default=None, description="The attributes associated with the workflow session.") + __properties: ClassVar[List[str]] = ["workflow_id", "requester_id", "requester_type", "profile_id", "profile_ids", "attributes"] + + @field_validator('requester_type') + def requester_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['User', 'NeprofileUser', 'NeaccessUser']): + warnings.warn(f"must be one of enum values ('User', 'NeprofileUser', 'NeaccessUser') unknown value: {value}") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkflowSession1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkflowSession1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "workflow_id": obj.get("workflow_id"), + "requester_id": obj.get("requester_id"), + "requester_type": obj.get("requester_type"), + "profile_id": obj.get("profile_id"), + "profile_ids": obj.get("profile_ids"), + "attributes": obj.get("attributes") + }) + return _obj + + diff --git a/sailpoint/nerm/rest.py b/sailpoint/nerm/rest.py new file mode 100644 index 000000000..26a1ee65e --- /dev/null +++ b/sailpoint/nerm/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import io +import json +import re +import ssl + +import urllib3 + +from sailpoint.nerm.exceptions import ApiException, ApiValueError + +SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"} +RESTResponseType = urllib3.HTTPResponse + + +def is_socks_proxy_url(url): + if url is None: + return False + split_section = url.split("://") + if len(split_section) < 2: + return False + else: + return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES + + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status + self.reason = resp.reason + self.data = None + + def read(self): + if self.data is None: + self.data = self.response.data + return self.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + pool_args = { + "cert_reqs": cert_reqs, + "ca_certs": configuration.ssl_ca_cert, + "cert_file": configuration.cert_file, + "key_file": configuration.key_file, + } + if configuration.assert_hostname is not None: + pool_args['assert_hostname'] = ( + configuration.assert_hostname + ) + + if configuration.retries is not None: + pool_args['retries'] = configuration.retries + + if configuration.tls_server_name: + pool_args['server_hostname'] = configuration.tls_server_name + + + if configuration.socket_options is not None: + pool_args['socket_options'] = configuration.socket_options + + if configuration.connection_pool_maxsize is not None: + pool_args['maxsize'] = configuration.connection_pool_maxsize + + # https pool manager + self.pool_manager: urllib3.PoolManager + + if configuration.proxy: + if is_socks_proxy_url(configuration.proxy): + from urllib3.contrib.socks import SOCKSProxyManager + pool_args["proxy_url"] = configuration.proxy + pool_args["headers"] = configuration.proxy_headers + self.pool_manager = SOCKSProxyManager(**pool_args) + else: + pool_args["proxy_url"] = configuration.proxy + pool_args["proxy_headers"] = configuration.proxy_headers + self.pool_manager = urllib3.ProxyManager(**pool_args) + else: + self.pool_manager = urllib3.PoolManager(**pool_args) + + def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None + ): + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, float)): + timeout = urllib3.Timeout(total=_request_timeout) + elif ( + isinstance(_request_timeout, tuple) + and len(_request_timeout) == 2 + ): + timeout = urllib3.Timeout( + connect=_request_timeout[0], + read=_request_timeout[1] + ) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + + # no content type provided or payload is json + content_type = headers.get('Content-Type') + if ( + not content_type + or re.search('json', content_type, re.IGNORECASE) + ): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, + url, + body=request_body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=False, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + # Ensures that dict objects are serialized + post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params] + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=True, + timeout=timeout, + headers=headers, + preload_content=False + ) + # Pass a `string` parameter directly in the body to support + # other content types than JSON when `body` argument is + # provided in serialized form. + elif isinstance(body, str) or isinstance(body, bytes): + r = self.pool_manager.request( + method, + url, + body=body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif headers['Content-Type'].startswith('text/') and isinstance(body, bool): + request_body = "true" if body else "false" + r = self.pool_manager.request( + method, + url, + body=request_body, + preload_content=False, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request( + method, + url, + fields={}, + timeout=timeout, + headers=headers, + preload_content=False + ) + except urllib3.exceptions.SSLError as e: + msg = "\n".join([type(e).__name__, str(e)]) + raise ApiException(status=0, reason=msg) + + return RESTResponse(r) diff --git a/sailpoint/nerm/test/__init__.py b/sailpoint/nerm/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sailpoint/nerm/test/test_advanced_search.py b/sailpoint/nerm/test/test_advanced_search.py new file mode 100644 index 000000000..54e89f9ba --- /dev/null +++ b/sailpoint/nerm/test/test_advanced_search.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.advanced_search import AdvancedSearch + +class TestAdvancedSearch(unittest.TestCase): + """AdvancedSearch unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedSearch: + """Test AdvancedSearch + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdvancedSearch` + """ + model = AdvancedSearch() + if include_optional: + return AdvancedSearch( + id = '', + uid = '', + label = '', + condition_rules_attributes = [ + null + ] + ) + else: + return AdvancedSearch( + ) + """ + + def testAdvancedSearch(self): + """Test AdvancedSearch""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_advanced_search1.py b/sailpoint/nerm/test/test_advanced_search1.py new file mode 100644 index 000000000..9cc1043cf --- /dev/null +++ b/sailpoint/nerm/test/test_advanced_search1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.advanced_search1 import AdvancedSearch1 + +class TestAdvancedSearch1(unittest.TestCase): + """AdvancedSearch1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedSearch1: + """Test AdvancedSearch1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdvancedSearch1` + """ + model = AdvancedSearch1() + if include_optional: + return AdvancedSearch1( + label = '', + condition_rules_attributes = [ + null + ] + ) + else: + return AdvancedSearch1( + ) + """ + + def testAdvancedSearch1(self): + """Test AdvancedSearch1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_advanced_search1_condition_rules_attributes_inner.py b/sailpoint/nerm/test/test_advanced_search1_condition_rules_attributes_inner.py new file mode 100644 index 000000000..59a0c6669 --- /dev/null +++ b/sailpoint/nerm/test/test_advanced_search1_condition_rules_attributes_inner.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.advanced_search1_condition_rules_attributes_inner import AdvancedSearch1ConditionRulesAttributesInner + +class TestAdvancedSearch1ConditionRulesAttributesInner(unittest.TestCase): + """AdvancedSearch1ConditionRulesAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedSearch1ConditionRulesAttributesInner: + """Test AdvancedSearch1ConditionRulesAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdvancedSearch1ConditionRulesAttributesInner` + """ + model = AdvancedSearch1ConditionRulesAttributesInner() + if include_optional: + return AdvancedSearch1ConditionRulesAttributesInner( + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + secondary_attribute_type = 'DateAttribute', + secondary_attribute_id = '', + secondary_value = 'OverallRisk', + tertiary_value = '30' + ) + else: + return AdvancedSearch1ConditionRulesAttributesInner( + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + secondary_value = 'OverallRisk', + ) + """ + + def testAdvancedSearch1ConditionRulesAttributesInner(self): + """Test AdvancedSearch1ConditionRulesAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_advanced_search_api.py b/sailpoint/nerm/test/test_advanced_search_api.py new file mode 100644 index 000000000..9de9a2f86 --- /dev/null +++ b/sailpoint/nerm/test/test_advanced_search_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.advanced_search_api import AdvancedSearchApi + + +class TestAdvancedSearchApi(unittest.TestCase): + """AdvancedSearchApi unit test stubs""" + + def setUp(self) -> None: + self.api = AdvancedSearchApi() + + def tearDown(self) -> None: + pass + + def test_get_advanced_search(self) -> None: + """Test case for get_advanced_search + + Get saved advanced search queries + """ + pass + + def test_patch_advanced_search(self) -> None: + """Test case for patch_advanced_search + + Update a saved advanced search + """ + pass + + def test_search_advanced_search(self) -> None: + """Test case for search_advanced_search + + Run profiles advanced search + """ + pass + + def test_search_advanced_searchby_id(self) -> None: + """Test case for search_advanced_searchby_id + + Run a saved advanced search + """ + pass + + def test_submit_advanced_search(self) -> None: + """Test case for submit_advanced_search + + Save an advanced search query + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_advanced_search_condition_rules_attributes_inner.py b/sailpoint/nerm/test/test_advanced_search_condition_rules_attributes_inner.py new file mode 100644 index 000000000..01532ec87 --- /dev/null +++ b/sailpoint/nerm/test/test_advanced_search_condition_rules_attributes_inner.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.advanced_search_condition_rules_attributes_inner import AdvancedSearchConditionRulesAttributesInner + +class TestAdvancedSearchConditionRulesAttributesInner(unittest.TestCase): + """AdvancedSearchConditionRulesAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedSearchConditionRulesAttributesInner: + """Test AdvancedSearchConditionRulesAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdvancedSearchConditionRulesAttributesInner` + """ + model = AdvancedSearchConditionRulesAttributesInner() + if include_optional: + return AdvancedSearchConditionRulesAttributesInner( + id = '', + uid = '', + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + secondary_attribute_type = 'DateAttribute', + secondary_attribute_id = '', + secondary_value = 'OverallRisk', + tertiary_value = '30' + ) + else: + return AdvancedSearchConditionRulesAttributesInner( + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + secondary_value = 'OverallRisk', + ) + """ + + def testAdvancedSearchConditionRulesAttributesInner(self): + """Test AdvancedSearchConditionRulesAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_approval_action.py b/sailpoint/nerm/test/test_approval_action.py new file mode 100644 index 000000000..bc20067e5 --- /dev/null +++ b/sailpoint/nerm/test/test_approval_action.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.approval_action import ApprovalAction + +class TestApprovalAction(unittest.TestCase): + """ApprovalAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApprovalAction: + """Test ApprovalAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ApprovalAction` + """ + model = ApprovalAction() + if include_optional: + return ApprovalAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + skippable = False, + requires_comment = False + ) + else: + return ApprovalAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ) + """ + + def testApprovalAction(self): + """Test ApprovalAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_ask_security_question_action.py b/sailpoint/nerm/test/test_ask_security_question_action.py new file mode 100644 index 000000000..5e1843d46 --- /dev/null +++ b/sailpoint/nerm/test/test_ask_security_question_action.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.ask_security_question_action import AskSecurityQuestionAction + +class TestAskSecurityQuestionAction(unittest.TestCase): + """AskSecurityQuestionAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AskSecurityQuestionAction: + """Test AskSecurityQuestionAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AskSecurityQuestionAction` + """ + model = AskSecurityQuestionAction() + if include_optional: + return AskSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to answer some personal security questions.', + number_of_questions = 1, + token_expiration = 1, + token_expiration_type = 'days', + archived = False + ) + else: + return AskSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to answer some personal security questions.', + number_of_questions = 1, + token_expiration = 1, + token_expiration_type = 'days', + ) + """ + + def testAskSecurityQuestionAction(self): + """Test AskSecurityQuestionAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute.py b/sailpoint/nerm/test/test_attribute.py new file mode 100644 index 000000000..ad3340627 --- /dev/null +++ b/sailpoint/nerm/test/test_attribute.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute import Attribute + +class TestAttribute(unittest.TestCase): + """Attribute unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Attribute: + """Test Attribute + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Attribute` + """ + model = Attribute() + if include_optional: + return Attribute( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute' + ) + else: + return Attribute( + ) + """ + + def testAttribute(self): + """Test Attribute""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute1.py b/sailpoint/nerm/test/test_attribute1.py new file mode 100644 index 000000000..b098ca72f --- /dev/null +++ b/sailpoint/nerm/test/test_attribute1.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute1 import Attribute1 + +class TestAttribute1(unittest.TestCase): + """Attribute1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Attribute1: + """Test Attribute1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Attribute1` + """ + model = Attribute1() + if include_optional: + return Attribute1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + archived = False, + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', + validations_attributes = sailpoint.nerm.models.attribute_1_validations_attributes.Attribute_1_validations_attributes( + validation_method = 'required', + value = 'mm-dd-yyyy', + _destroy = False, ) + ) + else: + return Attribute1( + ) + """ + + def testAttribute1(self): + """Test Attribute1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute1_validations_attributes.py b/sailpoint/nerm/test/test_attribute1_validations_attributes.py new file mode 100644 index 000000000..58444a03d --- /dev/null +++ b/sailpoint/nerm/test/test_attribute1_validations_attributes.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute1_validations_attributes import Attribute1ValidationsAttributes + +class TestAttribute1ValidationsAttributes(unittest.TestCase): + """Attribute1ValidationsAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Attribute1ValidationsAttributes: + """Test Attribute1ValidationsAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Attribute1ValidationsAttributes` + """ + model = Attribute1ValidationsAttributes() + if include_optional: + return Attribute1ValidationsAttributes( + validation_method = 'required', + value = 'mm-dd-yyyy', + destroy = False + ) + else: + return Attribute1ValidationsAttributes( + ) + """ + + def testAttribute1ValidationsAttributes(self): + """Test Attribute1ValidationsAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute_option.py b/sailpoint/nerm/test/test_attribute_option.py new file mode 100644 index 000000000..484a76791 --- /dev/null +++ b/sailpoint/nerm/test/test_attribute_option.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute_option import AttributeOption + +class TestAttributeOption(unittest.TestCase): + """AttributeOption unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AttributeOption: + """Test AttributeOption + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AttributeOption` + """ + model = AttributeOption() + if include_optional: + return AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '' + ) + else: + return AttributeOption( + ) + """ + + def testAttributeOption(self): + """Test AttributeOption""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute_option1.py b/sailpoint/nerm/test/test_attribute_option1.py new file mode 100644 index 000000000..ec012d5d4 --- /dev/null +++ b/sailpoint/nerm/test/test_attribute_option1.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute_option1 import AttributeOption1 + +class TestAttributeOption1(unittest.TestCase): + """AttributeOption1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AttributeOption1: + """Test AttributeOption1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AttributeOption1` + """ + model = AttributeOption1() + if include_optional: + return AttributeOption1( + ne_attribute_id = '', + option = '' + ) + else: + return AttributeOption1( + ) + """ + + def testAttributeOption1(self): + """Test AttributeOption1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute_options.py b/sailpoint/nerm/test/test_attribute_options.py new file mode 100644 index 000000000..728db7995 --- /dev/null +++ b/sailpoint/nerm/test/test_attribute_options.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute_options import AttributeOptions + +class TestAttributeOptions(unittest.TestCase): + """AttributeOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AttributeOptions: + """Test AttributeOptions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AttributeOptions` + """ + model = AttributeOptions() + if include_optional: + return AttributeOptions( + ne_attribute_options = [ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ] + ) + else: + return AttributeOptions( + ) + """ + + def testAttributeOptions(self): + """Test AttributeOptions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute_options_api.py b/sailpoint/nerm/test/test_attribute_options_api.py new file mode 100644 index 000000000..423013ae9 --- /dev/null +++ b/sailpoint/nerm/test/test_attribute_options_api.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.attribute_options_api import AttributeOptionsApi + + +class TestAttributeOptionsApi(unittest.TestCase): + """AttributeOptionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = AttributeOptionsApi() + + def tearDown(self) -> None: + pass + + def test_delete_attribute_option_by_id(self) -> None: + """Test case for delete_attribute_option_by_id + + Delete option based attribute value + """ + pass + + def test_delete_attribute_option_by_uid(self) -> None: + """Test case for delete_attribute_option_by_uid + + Delete option value + """ + pass + + def test_get_attribute_option_by_id(self) -> None: + """Test case for get_attribute_option_by_id + + Find option based attribute value + """ + pass + + def test_get_attribute_option_by_uid(self) -> None: + """Test case for get_attribute_option_by_uid + + Find option attribute value + """ + pass + + def test_get_attribute_options(self) -> None: + """Test case for get_attribute_options + + Get option based attribute values + """ + pass + + def test_patch_attribute_option_by_id(self) -> None: + """Test case for patch_attribute_option_by_id + + Update option based attribute value + """ + pass + + def test_patch_attribute_option_by_uid(self) -> None: + """Test case for patch_attribute_option_by_uid + + Update option value + """ + pass + + def test_patch_attribute_options(self) -> None: + """Test case for patch_attribute_options + + Update multiple option values + """ + pass + + def test_submit_attribute_option(self) -> None: + """Test case for submit_attribute_option + + Add value to option + """ + pass + + def test_submit_attribute_options(self) -> None: + """Test case for submit_attribute_options + + Create multiple option values + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attribute_properties.py b/sailpoint/nerm/test/test_attribute_properties.py new file mode 100644 index 000000000..abb2f0b8b --- /dev/null +++ b/sailpoint/nerm/test/test_attribute_properties.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.attribute_properties import AttributeProperties + +class TestAttributeProperties(unittest.TestCase): + """AttributeProperties unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AttributeProperties: + """Test AttributeProperties + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AttributeProperties` + """ + model = AttributeProperties() + if include_optional: + return AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return AttributeProperties( + ) + """ + + def testAttributeProperties(self): + """Test AttributeProperties""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_attributes_api.py b/sailpoint/nerm/test/test_attributes_api.py new file mode 100644 index 000000000..9b6dfc79f --- /dev/null +++ b/sailpoint/nerm/test/test_attributes_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.attributes_api import AttributesApi + + +class TestAttributesApi(unittest.TestCase): + """AttributesApi unit test stubs""" + + def setUp(self) -> None: + self.api = AttributesApi() + + def tearDown(self) -> None: + pass + + def test_create_attribute(self) -> None: + """Test case for create_attribute + + Create an attribute + """ + pass + + def test_delete_attribute_by_id(self) -> None: + """Test case for delete_attribute_by_id + + Delete attribute by id + """ + pass + + def test_delete_attribute_by_uid(self) -> None: + """Test case for delete_attribute_by_uid + + Delete attribute + """ + pass + + def test_get_attribute_by_id(self) -> None: + """Test case for get_attribute_by_id + + Find attribute data by id + """ + pass + + def test_get_attribute_by_uid(self) -> None: + """Test case for get_attribute_by_uid + + Find attribute data + """ + pass + + def test_get_attributes(self) -> None: + """Test case for get_attributes + + Get attribute data in bulk + """ + pass + + def test_update_attribute_by_id(self) -> None: + """Test case for update_attribute_by_id + + Update attribute data by id + """ + pass + + def test_update_attribute_by_uid(self) -> None: + """Test case for update_attribute_by_uid + + Update attribute data + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_audit_event.py b/sailpoint/nerm/test/test_audit_event.py new file mode 100644 index 000000000..fdad902f4 --- /dev/null +++ b/sailpoint/nerm/test/test_audit_event.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.audit_event import AuditEvent + +class TestAuditEvent(unittest.TestCase): + """AuditEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AuditEvent: + """Test AuditEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AuditEvent` + """ + model = AuditEvent() + if include_optional: + return AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ) + ) + else: + return AuditEvent( + ) + """ + + def testAuditEvent(self): + """Test AuditEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_audit_event_created_at.py b/sailpoint/nerm/test/test_audit_event_created_at.py new file mode 100644 index 000000000..8975f278b --- /dev/null +++ b/sailpoint/nerm/test/test_audit_event_created_at.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.audit_event_created_at import AuditEventCreatedAt + +class TestAuditEventCreatedAt(unittest.TestCase): + """AuditEventCreatedAt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AuditEventCreatedAt: + """Test AuditEventCreatedAt + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AuditEventCreatedAt` + """ + model = AuditEventCreatedAt() + if include_optional: + return AuditEventCreatedAt( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date() + ) + else: + return AuditEventCreatedAt( + ) + """ + + def testAuditEventCreatedAt(self): + """Test AuditEventCreatedAt""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_audit_event_data.py b/sailpoint/nerm/test/test_audit_event_data.py new file mode 100644 index 000000000..6348b4ea2 --- /dev/null +++ b/sailpoint/nerm/test/test_audit_event_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.audit_event_data import AuditEventData + +class TestAuditEventData(unittest.TestCase): + """AuditEventData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AuditEventData: + """Test AuditEventData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AuditEventData` + """ + model = AuditEventData() + if include_optional: + return AuditEventData( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79' + ) + else: + return AuditEventData( + ) + """ + + def testAuditEventData(self): + """Test AuditEventData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_audits_api.py b/sailpoint/nerm/test/test_audits_api.py new file mode 100644 index 000000000..46b085a89 --- /dev/null +++ b/sailpoint/nerm/test/test_audits_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.audits_api import AuditsApi + + +class TestAuditsApi(unittest.TestCase): + """AuditsApi unit test stubs""" + + def setUp(self) -> None: + self.api = AuditsApi() + + def tearDown(self) -> None: + pass + + def test_search(self) -> None: + """Test case for search + + Query for Audit events + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_auto_assign_action.py b/sailpoint/nerm/test/test_auto_assign_action.py new file mode 100644 index 000000000..ba980343c --- /dev/null +++ b/sailpoint/nerm/test/test_auto_assign_action.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.auto_assign_action import AutoAssignAction + +class TestAutoAssignAction(unittest.TestCase): + """AutoAssignAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutoAssignAction: + """Test AutoAssignAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutoAssignAction` + """ + model = AutoAssignAction() + if include_optional: + return AutoAssignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Automatically assigns contributors to this profile.', + archived = False, + contributor_attr = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return AutoAssignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Automatically assigns contributors to this profile.', + ) + """ + + def testAutoAssignAction(self): + """Test AutoAssignAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_automated_workflow.py b/sailpoint/nerm/test/test_automated_workflow.py new file mode 100644 index 000000000..27d30ebd4 --- /dev/null +++ b/sailpoint/nerm/test/test_automated_workflow.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.automated_workflow import AutomatedWorkflow + +class TestAutomatedWorkflow(unittest.TestCase): + """AutomatedWorkflow unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutomatedWorkflow: + """Test AutomatedWorkflow + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutomatedWorkflow` + """ + model = AutomatedWorkflow() + if include_optional: + return AutomatedWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False, + condition_rules_attributes = [{type=ProfileTypeRule, condition_object_type=DateAttribute, comparison_operator===, logical_operator=AND, value=true}] + ) + else: + return AutomatedWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + condition_rules_attributes = [{type=ProfileTypeRule, condition_object_type=DateAttribute, comparison_operator===, logical_operator=AND, value=true}], + ) + """ + + def testAutomatedWorkflow(self): + """Test AutomatedWorkflow""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_automated_workflow_condition_rules_attributes_inner.py b/sailpoint/nerm/test/test_automated_workflow_condition_rules_attributes_inner.py new file mode 100644 index 000000000..4908266f9 --- /dev/null +++ b/sailpoint/nerm/test/test_automated_workflow_condition_rules_attributes_inner.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.automated_workflow_condition_rules_attributes_inner import AutomatedWorkflowConditionRulesAttributesInner + +class TestAutomatedWorkflowConditionRulesAttributesInner(unittest.TestCase): + """AutomatedWorkflowConditionRulesAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutomatedWorkflowConditionRulesAttributesInner: + """Test AutomatedWorkflowConditionRulesAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutomatedWorkflowConditionRulesAttributesInner` + """ + model = AutomatedWorkflowConditionRulesAttributesInner() + if include_optional: + return AutomatedWorkflowConditionRulesAttributesInner( + logical_operator = 'AND', + comparison_operator = '==', + condition_object_id = 'cc844e99-9895-43d0-9d17-8f606b2158ba', + condition_object_type = 'DateAttribute', + secondary_value = 'before', + tertiary_value = 'before', + value = 'true', + order = 1, + type = 'ProfileTypeRule' + ) + else: + return AutomatedWorkflowConditionRulesAttributesInner( + logical_operator = 'AND', + comparison_operator = '==', + condition_object_type = 'DateAttribute', + type = 'ProfileTypeRule', + ) + """ + + def testAutomatedWorkflowConditionRulesAttributesInner(self): + """Test AutomatedWorkflowConditionRulesAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_batch_update_action.py b/sailpoint/nerm/test/test_batch_update_action.py new file mode 100644 index 000000000..0124611f0 --- /dev/null +++ b/sailpoint/nerm/test/test_batch_update_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.batch_update_action import BatchUpdateAction + +class TestBatchUpdateAction(unittest.TestCase): + """BatchUpdateAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BatchUpdateAction: + """Test BatchUpdateAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BatchUpdateAction` + """ + model = BatchUpdateAction() + if include_optional: + return BatchUpdateAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a batch of profiles with all attributes collected during the workflow.', + archived = False + ) + else: + return BatchUpdateAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a batch of profiles with all attributes collected during the workflow.', + ) + """ + + def testBatchUpdateAction(self): + """Test BatchUpdateAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_batch_workflow.py b/sailpoint/nerm/test/test_batch_workflow.py new file mode 100644 index 000000000..4e47d7c3b --- /dev/null +++ b/sailpoint/nerm/test/test_batch_workflow.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.batch_workflow import BatchWorkflow + +class TestBatchWorkflow(unittest.TestCase): + """BatchWorkflow unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BatchWorkflow: + """Test BatchWorkflow + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BatchWorkflow` + """ + model = BatchWorkflow() + if include_optional: + return BatchWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.batch_workflow_options.BatchWorkflow_options( + all_profiles = 'true', + multiple_requests = 'false', ), + disable_failure_email_notifications = False + ) + else: + return BatchWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + ) + """ + + def testBatchWorkflow(self): + """Test BatchWorkflow""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_batch_workflow_options.py b/sailpoint/nerm/test/test_batch_workflow_options.py new file mode 100644 index 000000000..cd1ec0aaa --- /dev/null +++ b/sailpoint/nerm/test/test_batch_workflow_options.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.batch_workflow_options import BatchWorkflowOptions + +class TestBatchWorkflowOptions(unittest.TestCase): + """BatchWorkflowOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BatchWorkflowOptions: + """Test BatchWorkflowOptions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BatchWorkflowOptions` + """ + model = BatchWorkflowOptions() + if include_optional: + return BatchWorkflowOptions( + all_profiles = 'true', + multiple_requests = 'false' + ) + else: + return BatchWorkflowOptions( + ) + """ + + def testBatchWorkflowOptions(self): + """Test BatchWorkflowOptions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_close_session_action.py b/sailpoint/nerm/test/test_close_session_action.py new file mode 100644 index 000000000..ec9f51562 --- /dev/null +++ b/sailpoint/nerm/test/test_close_session_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.close_session_action import CloseSessionAction + +class TestCloseSessionAction(unittest.TestCase): + """CloseSessionAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloseSessionAction: + """Test CloseSessionAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloseSessionAction` + """ + model = CloseSessionAction() + if include_optional: + return CloseSessionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Closes the current workflow session.', + archived = False + ) + else: + return CloseSessionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Closes the current workflow session.', + ) + """ + + def testCloseSessionAction(self): + """Test CloseSessionAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_consolidation_api.py b/sailpoint/nerm/test/test_consolidation_api.py new file mode 100644 index 000000000..40ae8128e --- /dev/null +++ b/sailpoint/nerm/test/test_consolidation_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.consolidation_api import ConsolidationApi + + +class TestConsolidationApi(unittest.TestCase): + """ConsolidationApi unit test stubs""" + + def setUp(self) -> None: + self.api = ConsolidationApi() + + def tearDown(self) -> None: + pass + + def test_delete_master_record(self) -> None: + """Test case for delete_master_record + + Delete a master record + """ + pass + + def test_patch_data_record(self) -> None: + """Test case for patch_data_record + + Reassign data record + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_contributors_action.py b/sailpoint/nerm/test/test_contributors_action.py new file mode 100644 index 000000000..9ecd5aa15 --- /dev/null +++ b/sailpoint/nerm/test/test_contributors_action.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.contributors_action import ContributorsAction + +class TestContributorsAction(unittest.TestCase): + """ContributorsAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ContributorsAction: + """Test ContributorsAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ContributorsAction` + """ + model = ContributorsAction() + if include_optional: + return ContributorsAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the requester determine the contributors or owner of the profile.', + owner = 'true', + contributors = 'true', + roles = 'true', + archived = False + ) + else: + return ContributorsAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the requester determine the contributors or owner of the profile.', + ) + """ + + def testContributorsAction(self): + """Test ContributorsAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_approval_action200_response.py b/sailpoint/nerm/test/test_create_approval_action200_response.py new file mode 100644 index 000000000..054a5a1be --- /dev/null +++ b/sailpoint/nerm/test/test_create_approval_action200_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_approval_action200_response import CreateApprovalAction200Response + +class TestCreateApprovalAction200Response(unittest.TestCase): + """CreateApprovalAction200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateApprovalAction200Response: + """Test CreateApprovalAction200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateApprovalAction200Response` + """ + model = CreateApprovalAction200Response() + if include_optional: + return CreateApprovalAction200Response( + workflow_action = sailpoint.nerm.models.workflow_action.WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + add_requester_as_owner = True, + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + new_status = 'Active, Inactive, On Leave, Terminated', + archived = False, + skippable = False, + requires_comment = False, ) + ) + else: + return CreateApprovalAction200Response( + ) + """ + + def testCreateApprovalAction200Response(self): + """Test CreateApprovalAction200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_approval_action_request.py b/sailpoint/nerm/test/test_create_approval_action_request.py new file mode 100644 index 000000000..f40b7c528 --- /dev/null +++ b/sailpoint/nerm/test/test_create_approval_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_approval_action_request import CreateApprovalActionRequest + +class TestCreateApprovalActionRequest(unittest.TestCase): + """CreateApprovalActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateApprovalActionRequest: + """Test CreateApprovalActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateApprovalActionRequest` + """ + model = CreateApprovalActionRequest() + if include_optional: + return CreateApprovalActionRequest( + workflow_action = sailpoint.nerm.models.approval_action.ApprovalAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + skippable = False, + requires_comment = False, ) + ) + else: + return CreateApprovalActionRequest( + ) + """ + + def testCreateApprovalActionRequest(self): + """Test CreateApprovalActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_ask_security_question_action_request.py b/sailpoint/nerm/test/test_create_ask_security_question_action_request.py new file mode 100644 index 000000000..cffc7c495 --- /dev/null +++ b/sailpoint/nerm/test/test_create_ask_security_question_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_ask_security_question_action_request import CreateAskSecurityQuestionActionRequest + +class TestCreateAskSecurityQuestionActionRequest(unittest.TestCase): + """CreateAskSecurityQuestionActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAskSecurityQuestionActionRequest: + """Test CreateAskSecurityQuestionActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAskSecurityQuestionActionRequest` + """ + model = CreateAskSecurityQuestionActionRequest() + if include_optional: + return CreateAskSecurityQuestionActionRequest( + workflow_action = sailpoint.nerm.models.ask_security_question_action.AskSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to answer some personal security questions.', + number_of_questions = 1, + token_expiration = 1, + token_expiration_type = 'days', + archived = False, ) + ) + else: + return CreateAskSecurityQuestionActionRequest( + ) + """ + + def testCreateAskSecurityQuestionActionRequest(self): + """Test CreateAskSecurityQuestionActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_attribute201_response.py b/sailpoint/nerm/test/test_create_attribute201_response.py new file mode 100644 index 000000000..9d0f89a77 --- /dev/null +++ b/sailpoint/nerm/test/test_create_attribute201_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_attribute201_response import CreateAttribute201Response + +class TestCreateAttribute201Response(unittest.TestCase): + """CreateAttribute201Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAttribute201Response: + """Test CreateAttribute201Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAttribute201Response` + """ + model = CreateAttribute201Response() + if include_optional: + return CreateAttribute201Response( + ne_attribute = sailpoint.nerm.models.attribute.Attribute( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', ) + ) + else: + return CreateAttribute201Response( + ) + """ + + def testCreateAttribute201Response(self): + """Test CreateAttribute201Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_attribute_request.py b/sailpoint/nerm/test/test_create_attribute_request.py new file mode 100644 index 000000000..81c151a09 --- /dev/null +++ b/sailpoint/nerm/test/test_create_attribute_request.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_attribute_request import CreateAttributeRequest + +class TestCreateAttributeRequest(unittest.TestCase): + """CreateAttributeRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAttributeRequest: + """Test CreateAttributeRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAttributeRequest` + """ + model = CreateAttributeRequest() + if include_optional: + return CreateAttributeRequest( + ne_attribute = sailpoint.nerm.models.attribute_1.Attribute_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + archived = False, + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', + validations_attributes = sailpoint.nerm.models.attribute_1_validations_attributes.Attribute_1_validations_attributes( + validation_method = 'required', + value = 'mm-dd-yyyy', + _destroy = False, ), ) + ) + else: + return CreateAttributeRequest( + ) + """ + + def testCreateAttributeRequest(self): + """Test CreateAttributeRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_auto_assign_action_request.py b/sailpoint/nerm/test/test_create_auto_assign_action_request.py new file mode 100644 index 000000000..e0a6dfab7 --- /dev/null +++ b/sailpoint/nerm/test/test_create_auto_assign_action_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_auto_assign_action_request import CreateAutoAssignActionRequest + +class TestCreateAutoAssignActionRequest(unittest.TestCase): + """CreateAutoAssignActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAutoAssignActionRequest: + """Test CreateAutoAssignActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAutoAssignActionRequest` + """ + model = CreateAutoAssignActionRequest() + if include_optional: + return CreateAutoAssignActionRequest( + workflow_action = sailpoint.nerm.models.auto_assign_action.AutoAssignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Automatically assigns contributors to this profile.', + archived = False, + contributor_attr = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ) + else: + return CreateAutoAssignActionRequest( + ) + """ + + def testCreateAutoAssignActionRequest(self): + """Test CreateAutoAssignActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_automated_workflow_request.py b/sailpoint/nerm/test/test_create_automated_workflow_request.py new file mode 100644 index 000000000..32bb61e18 --- /dev/null +++ b/sailpoint/nerm/test/test_create_automated_workflow_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_automated_workflow_request import CreateAutomatedWorkflowRequest + +class TestCreateAutomatedWorkflowRequest(unittest.TestCase): + """CreateAutomatedWorkflowRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAutomatedWorkflowRequest: + """Test CreateAutomatedWorkflowRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAutomatedWorkflowRequest` + """ + model = CreateAutomatedWorkflowRequest() + if include_optional: + return CreateAutomatedWorkflowRequest( + workflow = sailpoint.nerm.models.automated_workflow.AutomatedWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False, + condition_rules_attributes = [{type=ProfileTypeRule, condition_object_type=DateAttribute, comparison_operator===, logical_operator=AND, value=true}], ) + ) + else: + return CreateAutomatedWorkflowRequest( + ) + """ + + def testCreateAutomatedWorkflowRequest(self): + """Test CreateAutomatedWorkflowRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_batch_update_action_request.py b/sailpoint/nerm/test/test_create_batch_update_action_request.py new file mode 100644 index 000000000..c259d8c06 --- /dev/null +++ b/sailpoint/nerm/test/test_create_batch_update_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_batch_update_action_request import CreateBatchUpdateActionRequest + +class TestCreateBatchUpdateActionRequest(unittest.TestCase): + """CreateBatchUpdateActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateBatchUpdateActionRequest: + """Test CreateBatchUpdateActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateBatchUpdateActionRequest` + """ + model = CreateBatchUpdateActionRequest() + if include_optional: + return CreateBatchUpdateActionRequest( + workflow_action = sailpoint.nerm.models.batch_update_action.BatchUpdateAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a batch of profiles with all attributes collected during the workflow.', + archived = False, ) + ) + else: + return CreateBatchUpdateActionRequest( + ) + """ + + def testCreateBatchUpdateActionRequest(self): + """Test CreateBatchUpdateActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_batch_workflow_request.py b/sailpoint/nerm/test/test_create_batch_workflow_request.py new file mode 100644 index 000000000..a62c60521 --- /dev/null +++ b/sailpoint/nerm/test/test_create_batch_workflow_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_batch_workflow_request import CreateBatchWorkflowRequest + +class TestCreateBatchWorkflowRequest(unittest.TestCase): + """CreateBatchWorkflowRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateBatchWorkflowRequest: + """Test CreateBatchWorkflowRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateBatchWorkflowRequest` + """ + model = CreateBatchWorkflowRequest() + if include_optional: + return CreateBatchWorkflowRequest( + workflow = sailpoint.nerm.models.batch_workflow.BatchWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.batch_workflow_options.BatchWorkflow_options( + all_profiles = 'true', + multiple_requests = 'false', ), + disable_failure_email_notifications = False, ) + ) + else: + return CreateBatchWorkflowRequest( + ) + """ + + def testCreateBatchWorkflowRequest(self): + """Test CreateBatchWorkflowRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_close_session_action_request.py b/sailpoint/nerm/test/test_create_close_session_action_request.py new file mode 100644 index 000000000..8e986b9de --- /dev/null +++ b/sailpoint/nerm/test/test_create_close_session_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_close_session_action_request import CreateCloseSessionActionRequest + +class TestCreateCloseSessionActionRequest(unittest.TestCase): + """CreateCloseSessionActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCloseSessionActionRequest: + """Test CreateCloseSessionActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCloseSessionActionRequest` + """ + model = CreateCloseSessionActionRequest() + if include_optional: + return CreateCloseSessionActionRequest( + workflow_action = sailpoint.nerm.models.close_session_action.CloseSessionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Closes the current workflow session.', + archived = False, ) + ) + else: + return CreateCloseSessionActionRequest( + ) + """ + + def testCreateCloseSessionActionRequest(self): + """Test CreateCloseSessionActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_contributors_action_request.py b/sailpoint/nerm/test/test_create_contributors_action_request.py new file mode 100644 index 000000000..30c6a4d3e --- /dev/null +++ b/sailpoint/nerm/test/test_create_contributors_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_contributors_action_request import CreateContributorsActionRequest + +class TestCreateContributorsActionRequest(unittest.TestCase): + """CreateContributorsActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateContributorsActionRequest: + """Test CreateContributorsActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateContributorsActionRequest` + """ + model = CreateContributorsActionRequest() + if include_optional: + return CreateContributorsActionRequest( + workflow_action = sailpoint.nerm.models.contributors_action.ContributorsAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the requester determine the contributors or owner of the profile.', + owner = 'true', + contributors = 'true', + roles = 'true', + archived = False, ) + ) + else: + return CreateContributorsActionRequest( + ) + """ + + def testCreateContributorsActionRequest(self): + """Test CreateContributorsActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_create_profile_action_request.py b/sailpoint/nerm/test/test_create_create_profile_action_request.py new file mode 100644 index 000000000..08f7c1481 --- /dev/null +++ b/sailpoint/nerm/test/test_create_create_profile_action_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_create_profile_action_request import CreateCreateProfileActionRequest + +class TestCreateCreateProfileActionRequest(unittest.TestCase): + """CreateCreateProfileActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCreateProfileActionRequest: + """Test CreateCreateProfileActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCreateProfileActionRequest` + """ + model = CreateCreateProfileActionRequest() + if include_optional: + return CreateCreateProfileActionRequest( + workflow_action = sailpoint.nerm.models.create_profile_action.CreateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a profile with all attributes collected during the workflow.', + add_requester_as_owner = True, + archived = False, ) + ) + else: + return CreateCreateProfileActionRequest( + ) + """ + + def testCreateCreateProfileActionRequest(self): + """Test CreateCreateProfileActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_create_workflow200_response.py b/sailpoint/nerm/test/test_create_create_workflow200_response.py new file mode 100644 index 000000000..687c55ae7 --- /dev/null +++ b/sailpoint/nerm/test/test_create_create_workflow200_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_create_workflow200_response import CreateCreateWorkflow200Response + +class TestCreateCreateWorkflow200Response(unittest.TestCase): + """CreateCreateWorkflow200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCreateWorkflow200Response: + """Test CreateCreateWorkflow200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCreateWorkflow200Response` + """ + model = CreateCreateWorkflow200Response() + if include_optional: + return CreateCreateWorkflow200Response( + workflow = sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ) + else: + return CreateCreateWorkflow200Response( + ) + """ + + def testCreateCreateWorkflow200Response(self): + """Test CreateCreateWorkflow200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_create_workflow_request.py b/sailpoint/nerm/test/test_create_create_workflow_request.py new file mode 100644 index 000000000..e82179475 --- /dev/null +++ b/sailpoint/nerm/test/test_create_create_workflow_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_create_workflow_request import CreateCreateWorkflowRequest + +class TestCreateCreateWorkflowRequest(unittest.TestCase): + """CreateCreateWorkflowRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCreateWorkflowRequest: + """Test CreateCreateWorkflowRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCreateWorkflowRequest` + """ + model = CreateCreateWorkflowRequest() + if include_optional: + return CreateCreateWorkflowRequest( + workflow = sailpoint.nerm.models.create_workflow.CreateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False, ) + ) + else: + return CreateCreateWorkflowRequest( + ) + """ + + def testCreateCreateWorkflowRequest(self): + """Test CreateCreateWorkflowRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_duplicate_prevention_action_request.py b/sailpoint/nerm/test/test_create_duplicate_prevention_action_request.py new file mode 100644 index 000000000..d6e887cad --- /dev/null +++ b/sailpoint/nerm/test/test_create_duplicate_prevention_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_duplicate_prevention_action_request import CreateDuplicatePreventionActionRequest + +class TestCreateDuplicatePreventionActionRequest(unittest.TestCase): + """CreateDuplicatePreventionActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateDuplicatePreventionActionRequest: + """Test CreateDuplicatePreventionActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateDuplicatePreventionActionRequest` + """ + model = CreateDuplicatePreventionActionRequest() + if include_optional: + return CreateDuplicatePreventionActionRequest( + workflow_action = sailpoint.nerm.models.duplicate_prevention_action.DuplicatePreventionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows a user to select an already existing profile, or create a new one for the request.', + search_scope = 'current', + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, ) + ) + else: + return CreateDuplicatePreventionActionRequest( + ) + """ + + def testCreateDuplicatePreventionActionRequest(self): + """Test CreateDuplicatePreventionActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_email_verification_action_request.py b/sailpoint/nerm/test/test_create_email_verification_action_request.py new file mode 100644 index 000000000..5cab1b92c --- /dev/null +++ b/sailpoint/nerm/test/test_create_email_verification_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_email_verification_action_request import CreateEmailVerificationActionRequest + +class TestCreateEmailVerificationActionRequest(unittest.TestCase): + """CreateEmailVerificationActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateEmailVerificationActionRequest: + """Test CreateEmailVerificationActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateEmailVerificationActionRequest` + """ + model = CreateEmailVerificationActionRequest() + if include_optional: + return CreateEmailVerificationActionRequest( + workflow_action = sailpoint.nerm.models.email_verification_action.EmailVerificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user verify their email address.', + email_expiration = 20, + token_expiration = 1, + token_expiration_type = 'days', + archived = False, ) + ) + else: + return CreateEmailVerificationActionRequest( + ) + """ + + def testCreateEmailVerificationActionRequest(self): + """Test CreateEmailVerificationActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_form_attribute_request.py b/sailpoint/nerm/test/test_create_form_attribute_request.py new file mode 100644 index 000000000..cb5c2d403 --- /dev/null +++ b/sailpoint/nerm/test/test_create_form_attribute_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_form_attribute_request import CreateFormAttributeRequest + +class TestCreateFormAttributeRequest(unittest.TestCase): + """CreateFormAttributeRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateFormAttributeRequest: + """Test CreateFormAttributeRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateFormAttributeRequest` + """ + model = CreateFormAttributeRequest() + if include_optional: + return CreateFormAttributeRequest( + form_attribute = sailpoint.nerm.models.form_attributes.FormAttributes( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1, ) + ) + else: + return CreateFormAttributeRequest( + ) + """ + + def testCreateFormAttributeRequest(self): + """Test CreateFormAttributeRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_form_request.py b/sailpoint/nerm/test/test_create_form_request.py new file mode 100644 index 000000000..23d2952a9 --- /dev/null +++ b/sailpoint/nerm/test/test_create_form_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_form_request import CreateFormRequest + +class TestCreateFormRequest(unittest.TestCase): + """CreateFormRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateFormRequest: + """Test CreateFormRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateFormRequest` + """ + model = CreateFormRequest() + if include_optional: + return CreateFormRequest( + forms = [ + sailpoint.nerm.models.forms.Forms( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, ) + ] + ) + else: + return CreateFormRequest( + ) + """ + + def testCreateFormRequest(self): + """Test CreateFormRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_fulfillment_action_request.py b/sailpoint/nerm/test/test_create_fulfillment_action_request.py new file mode 100644 index 000000000..720a13c7b --- /dev/null +++ b/sailpoint/nerm/test/test_create_fulfillment_action_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_fulfillment_action_request import CreateFulfillmentActionRequest + +class TestCreateFulfillmentActionRequest(unittest.TestCase): + """CreateFulfillmentActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateFulfillmentActionRequest: + """Test CreateFulfillmentActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateFulfillmentActionRequest` + """ + model = CreateFulfillmentActionRequest() + if include_optional: + return CreateFulfillmentActionRequest( + workflow_action = sailpoint.nerm.models.fulfillment_action.FulfillmentAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have another user or group provide information for the profile.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) + ) + else: + return CreateFulfillmentActionRequest( + ) + """ + + def testCreateFulfillmentActionRequest(self): + """Test CreateFulfillmentActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_identity_proofing_action_request.py b/sailpoint/nerm/test/test_create_identity_proofing_action_request.py new file mode 100644 index 000000000..4c640ba70 --- /dev/null +++ b/sailpoint/nerm/test/test_create_identity_proofing_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_identity_proofing_action_request import CreateIdentityProofingActionRequest + +class TestCreateIdentityProofingActionRequest(unittest.TestCase): + """CreateIdentityProofingActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateIdentityProofingActionRequest: + """Test CreateIdentityProofingActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateIdentityProofingActionRequest` + """ + model = CreateIdentityProofingActionRequest() + if include_optional: + return CreateIdentityProofingActionRequest( + workflow_action = sailpoint.nerm.models.identity_proofing_action.IdentityProofingAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user account associated with this profile validate the identity data.', + archived = False, ) + ) + else: + return CreateIdentityProofingActionRequest( + ) + """ + + def testCreateIdentityProofingActionRequest(self): + """Test CreateIdentityProofingActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_invitation_action_request.py b/sailpoint/nerm/test/test_create_invitation_action_request.py new file mode 100644 index 000000000..613d49616 --- /dev/null +++ b/sailpoint/nerm/test/test_create_invitation_action_request.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_invitation_action_request import CreateInvitationActionRequest + +class TestCreateInvitationActionRequest(unittest.TestCase): + """CreateInvitationActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateInvitationActionRequest: + """Test CreateInvitationActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateInvitationActionRequest` + """ + model = CreateInvitationActionRequest() + if include_optional: + return CreateInvitationActionRequest( + workflow_action = sailpoint.nerm.models.invitation_action.InvitationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a registration session associated with an email address', + archived = False, + configuration_attributes = sailpoint.nerm.models.invitation_action_configuration_attributes.InvitationAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + return_profile = False, + portal_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + registration_workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + validate_completed_registration = False, + validate_open_registration = False, ), + workflow_action_email_attributes = sailpoint.nerm.models.invitation_action_workflow_action_email_attributes.InvitationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ), ) + ) + else: + return CreateInvitationActionRequest( + ) + """ + + def testCreateInvitationActionRequest(self): + """Test CreateInvitationActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_ldap_action_request.py b/sailpoint/nerm/test/test_create_ldap_action_request.py new file mode 100644 index 000000000..29b36dcd5 --- /dev/null +++ b/sailpoint/nerm/test/test_create_ldap_action_request.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_ldap_action_request import CreateLdapActionRequest + +class TestCreateLdapActionRequest(unittest.TestCase): + """CreateLdapActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateLdapActionRequest: + """Test CreateLdapActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateLdapActionRequest` + """ + model = CreateLdapActionRequest() + if include_optional: + return CreateLdapActionRequest( + workflow_action = sailpoint.nerm.models.ldap_action.LdapAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Create a Collaboration user account for this profile.', + archived = False, + store_type = 'Local', + ldap_action_user_roles_attributes = sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes.LdapAction_ldap_action_user_roles_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + role_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), + workflow_action_value_builders_attributes = sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes.LdapAction_workflow_action_value_builders_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + value_builder_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + position = 1, ), + workflow_action_directory_groups_attributes = sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes.LdapAction_workflow_action_directory_groups_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + directory_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + group_label = 'Admin', + group_dn = 'group', ), ) + ) + else: + return CreateLdapActionRequest( + ) + """ + + def testCreateLdapActionRequest(self): + """Test CreateLdapActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_login_workflow_request.py b/sailpoint/nerm/test/test_create_login_workflow_request.py new file mode 100644 index 000000000..951d8ecfb --- /dev/null +++ b/sailpoint/nerm/test/test_create_login_workflow_request.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_login_workflow_request import CreateLoginWorkflowRequest + +class TestCreateLoginWorkflowRequest(unittest.TestCase): + """CreateLoginWorkflowRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateLoginWorkflowRequest: + """Test CreateLoginWorkflowRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateLoginWorkflowRequest` + """ + model = CreateLoginWorkflowRequest() + if include_optional: + return CreateLoginWorkflowRequest( + workflow = sailpoint.nerm.models.login_workflow.LoginWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.login_workflow_options.LoginWorkflow_options( + expiration_time = 1, ), + disable_failure_email_notifications = False, ) + ) + else: + return CreateLoginWorkflowRequest( + ) + """ + + def testCreateLoginWorkflowRequest(self): + """Test CreateLoginWorkflowRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_notification_action_request.py b/sailpoint/nerm/test/test_create_notification_action_request.py new file mode 100644 index 000000000..c74367a82 --- /dev/null +++ b/sailpoint/nerm/test/test_create_notification_action_request.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_notification_action_request import CreateNotificationActionRequest + +class TestCreateNotificationActionRequest(unittest.TestCase): + """CreateNotificationActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateNotificationActionRequest: + """Test CreateNotificationActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateNotificationActionRequest` + """ + model = CreateNotificationActionRequest() + if include_optional: + return CreateNotificationActionRequest( + workflow_action = sailpoint.nerm.models.notification_action.NotificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Send a notification to a group of users.', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + archived = False, + workflow_action_email_attributes = sailpoint.nerm.models.notification_action_workflow_action_email_attributes.NotificationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ), ) + ) + else: + return CreateNotificationActionRequest( + ) + """ + + def testCreateNotificationActionRequest(self): + """Test CreateNotificationActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_page_content_request.py b/sailpoint/nerm/test/test_create_page_content_request.py new file mode 100644 index 000000000..295c5611d --- /dev/null +++ b/sailpoint/nerm/test/test_create_page_content_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_page_content_request import CreatePageContentRequest + +class TestCreatePageContentRequest(unittest.TestCase): + """CreatePageContentRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePageContentRequest: + """Test CreatePageContentRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePageContentRequest` + """ + model = CreatePageContentRequest() + if include_optional: + return CreatePageContentRequest( + page_content = sailpoint.nerm.models.page_content_1.PageContent_1( + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', ) + ) + else: + return CreatePageContentRequest( + ) + """ + + def testCreatePageContentRequest(self): + """Test CreatePageContentRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_page_content_translation_request.py b/sailpoint/nerm/test/test_create_page_content_translation_request.py new file mode 100644 index 000000000..b7b639beb --- /dev/null +++ b/sailpoint/nerm/test/test_create_page_content_translation_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_page_content_translation_request import CreatePageContentTranslationRequest + +class TestCreatePageContentTranslationRequest(unittest.TestCase): + """CreatePageContentTranslationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePageContentTranslationRequest: + """Test CreatePageContentTranslationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePageContentTranslationRequest` + """ + model = CreatePageContentTranslationRequest() + if include_optional: + return CreatePageContentTranslationRequest( + page_content_translation = sailpoint.nerm.models.page_content_translation_1.PageContentTranslation_1( + uid = 'page_content_translation_spanish_great', + page_content_uid = '', + page_content_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + locale = 'es-ES', + value = 'Es stupendo!', ) + ) + else: + return CreatePageContentTranslationRequest( + ) + """ + + def testCreatePageContentTranslationRequest(self): + """Test CreatePageContentTranslationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_page_element_request.py b/sailpoint/nerm/test/test_create_page_element_request.py new file mode 100644 index 000000000..d562589a2 --- /dev/null +++ b/sailpoint/nerm/test/test_create_page_element_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_page_element_request import CreatePageElementRequest + +class TestCreatePageElementRequest(unittest.TestCase): + """CreatePageElementRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePageElementRequest: + """Test CreatePageElementRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePageElementRequest` + """ + model = CreatePageElementRequest() + if include_optional: + return CreatePageElementRequest( + page_element = sailpoint.nerm.models.page_element_1.PageElement_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1, ) + ) + else: + return CreatePageElementRequest( + ) + """ + + def testCreatePageElementRequest(self): + """Test CreatePageElementRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_password_reset_action_request.py b/sailpoint/nerm/test/test_create_password_reset_action_request.py new file mode 100644 index 000000000..1dfa09489 --- /dev/null +++ b/sailpoint/nerm/test/test_create_password_reset_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_password_reset_action_request import CreatePasswordResetActionRequest + +class TestCreatePasswordResetActionRequest(unittest.TestCase): + """CreatePasswordResetActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePasswordResetActionRequest: + """Test CreatePasswordResetActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePasswordResetActionRequest` + """ + model = CreatePasswordResetActionRequest() + if include_optional: + return CreatePasswordResetActionRequest( + workflow_action = sailpoint.nerm.models.password_reset_action.PasswordResetAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to reset their password.', + archived = False, ) + ) + else: + return CreatePasswordResetActionRequest( + ) + """ + + def testCreatePasswordResetActionRequest(self): + """Test CreatePasswordResetActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_permission200_response.py b/sailpoint/nerm/test/test_create_permission200_response.py new file mode 100644 index 000000000..2a8557bad --- /dev/null +++ b/sailpoint/nerm/test/test_create_permission200_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_permission200_response import CreatePermission200Response + +class TestCreatePermission200Response(unittest.TestCase): + """CreatePermission200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePermission200Response: + """Test CreatePermission200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePermission200Response` + """ + model = CreatePermission200Response() + if include_optional: + return CreatePermission200Response( + permission = sailpoint.nerm.models.permission.Permission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', ) + ) + else: + return CreatePermission200Response( + ) + """ + + def testCreatePermission200Response(self): + """Test CreatePermission200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_permission_request.py b/sailpoint/nerm/test/test_create_permission_request.py new file mode 100644 index 000000000..99ee715db --- /dev/null +++ b/sailpoint/nerm/test/test_create_permission_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_permission_request import CreatePermissionRequest + +class TestCreatePermissionRequest(unittest.TestCase): + """CreatePermissionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePermissionRequest: + """Test CreatePermissionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePermissionRequest` + """ + model = CreatePermissionRequest() + if include_optional: + return CreatePermissionRequest( + permission = sailpoint.nerm.models.permission_1.Permission_1( + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0, ) + ) + else: + return CreatePermissionRequest( + ) + """ + + def testCreatePermissionRequest(self): + """Test CreatePermissionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_action.py b/sailpoint/nerm/test/test_create_profile_action.py new file mode 100644 index 000000000..69f06e2d7 --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_action.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_action import CreateProfileAction + +class TestCreateProfileAction(unittest.TestCase): + """CreateProfileAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfileAction: + """Test CreateProfileAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfileAction` + """ + model = CreateProfileAction() + if include_optional: + return CreateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a profile with all attributes collected during the workflow.', + add_requester_as_owner = True, + archived = False + ) + else: + return CreateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a profile with all attributes collected during the workflow.', + ) + """ + + def testCreateProfileAction(self): + """Test CreateProfileAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_check_action_request.py b/sailpoint/nerm/test/test_create_profile_check_action_request.py new file mode 100644 index 000000000..3816302f4 --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_check_action_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_check_action_request import CreateProfileCheckActionRequest + +class TestCreateProfileCheckActionRequest(unittest.TestCase): + """CreateProfileCheckActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfileCheckActionRequest: + """Test CreateProfileCheckActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfileCheckActionRequest` + """ + model = CreateProfileCheckActionRequest() + if include_optional: + return CreateProfileCheckActionRequest( + workflow_action = sailpoint.nerm.models.profile_check_action.ProfileCheckAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Finds a profile based on selected attributes and values found in the session.', + archived = False, + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_type = 'session', + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ) + else: + return CreateProfileCheckActionRequest( + ) + """ + + def testCreateProfileCheckActionRequest(self): + """Test CreateProfileCheckActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_page200_response.py b/sailpoint/nerm/test/test_create_profile_page200_response.py new file mode 100644 index 000000000..9197d8c75 --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_page200_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_page200_response import CreateProfilePage200Response + +class TestCreateProfilePage200Response(unittest.TestCase): + """CreateProfilePage200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfilePage200Response: + """Test CreateProfilePage200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfilePage200Response` + """ + model = CreateProfilePage200Response() + if include_optional: + return CreateProfilePage200Response( + page = sailpoint.nerm.models.pages.Pages( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) + ) + else: + return CreateProfilePage200Response( + ) + """ + + def testCreateProfilePage200Response(self): + """Test CreateProfilePage200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_page_request.py b/sailpoint/nerm/test/test_create_profile_page_request.py new file mode 100644 index 000000000..2e860bc1b --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_page_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_page_request import CreateProfilePageRequest + +class TestCreateProfilePageRequest(unittest.TestCase): + """CreateProfilePageRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfilePageRequest: + """Test CreateProfilePageRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfilePageRequest` + """ + model = CreateProfilePageRequest() + if include_optional: + return CreateProfilePageRequest( + page = sailpoint.nerm.models.profile_page.ProfilePage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, ) + ) + else: + return CreateProfilePageRequest( + ) + """ + + def testCreateProfilePageRequest(self): + """Test CreateProfilePageRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_select_action_request.py b/sailpoint/nerm/test/test_create_profile_select_action_request.py new file mode 100644 index 000000000..102f4baff --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_select_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_select_action_request import CreateProfileSelectActionRequest + +class TestCreateProfileSelectActionRequest(unittest.TestCase): + """CreateProfileSelectActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfileSelectActionRequest: + """Test CreateProfileSelectActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfileSelectActionRequest` + """ + model = CreateProfileSelectActionRequest() + if include_optional: + return CreateProfileSelectActionRequest( + workflow_action = sailpoint.nerm.models.profile_select_action.ProfileSelectAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Select the profiles that you want to run this workflow for.', + archived = False, ) + ) + else: + return CreateProfileSelectActionRequest( + ) + """ + + def testCreateProfileSelectActionRequest(self): + """Test CreateProfileSelectActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_type_role200_response.py b/sailpoint/nerm/test/test_create_profile_type_role200_response.py new file mode 100644 index 000000000..cc0ff5da3 --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_type_role200_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_type_role200_response import CreateProfileTypeRole200Response + +class TestCreateProfileTypeRole200Response(unittest.TestCase): + """CreateProfileTypeRole200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfileTypeRole200Response: + """Test CreateProfileTypeRole200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfileTypeRole200Response` + """ + model = CreateProfileTypeRole200Response() + if include_optional: + return CreateProfileTypeRole200Response( + profile_type_roles = sailpoint.nerm.models.profile_type_roles.ProfileTypeRoles( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862', + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) + ) + else: + return CreateProfileTypeRole200Response( + ) + """ + + def testCreateProfileTypeRole200Response(self): + """Test CreateProfileTypeRole200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profile_type_role_request.py b/sailpoint/nerm/test/test_create_profile_type_role_request.py new file mode 100644 index 000000000..1677ef688 --- /dev/null +++ b/sailpoint/nerm/test/test_create_profile_type_role_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profile_type_role_request import CreateProfileTypeRoleRequest + +class TestCreateProfileTypeRoleRequest(unittest.TestCase): + """CreateProfileTypeRoleRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfileTypeRoleRequest: + """Test CreateProfileTypeRoleRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfileTypeRoleRequest` + """ + model = CreateProfileTypeRoleRequest() + if include_optional: + return CreateProfileTypeRoleRequest( + profile_type_role = sailpoint.nerm.models.profile_type_roles_1.ProfileTypeRoles_1( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862', ) + ) + else: + return CreateProfileTypeRoleRequest( + ) + """ + + def testCreateProfileTypeRoleRequest(self): + """Test CreateProfileTypeRoleRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_profiles_request.py b/sailpoint/nerm/test/test_create_profiles_request.py new file mode 100644 index 000000000..5c7da1cfa --- /dev/null +++ b/sailpoint/nerm/test/test_create_profiles_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_profiles_request import CreateProfilesRequest + +class TestCreateProfilesRequest(unittest.TestCase): + """CreateProfilesRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProfilesRequest: + """Test CreateProfilesRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProfilesRequest` + """ + model = CreateProfilesRequest() + if include_optional: + return CreateProfilesRequest( + profiles = [ + sailpoint.nerm.models.profile_1.Profile_1( + name = 'First Last', + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + id_proofing_status = 'pass', + archived = False, + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] + ) + else: + return CreateProfilesRequest( + ) + """ + + def testCreateProfilesRequest(self): + """Test CreateProfilesRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_request_action_request.py b/sailpoint/nerm/test/test_create_request_action_request.py new file mode 100644 index 000000000..e04e41316 --- /dev/null +++ b/sailpoint/nerm/test/test_create_request_action_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_request_action_request import CreateRequestActionRequest + +class TestCreateRequestActionRequest(unittest.TestCase): + """CreateRequestActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateRequestActionRequest: + """Test CreateRequestActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateRequestActionRequest` + """ + model = CreateRequestActionRequest() + if include_optional: + return CreateRequestActionRequest( + workflow_action = sailpoint.nerm.models.request_action.RequestAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Provides the requester a page with forms.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) + ) + else: + return CreateRequestActionRequest( + ) + """ + + def testCreateRequestActionRequest(self): + """Test CreateRequestActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_rest_api_action_request.py b/sailpoint/nerm/test/test_create_rest_api_action_request.py new file mode 100644 index 000000000..3ab369eae --- /dev/null +++ b/sailpoint/nerm/test/test_create_rest_api_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_rest_api_action_request import CreateRestApiActionRequest + +class TestCreateRestApiActionRequest(unittest.TestCase): + """CreateRestApiActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateRestApiActionRequest: + """Test CreateRestApiActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateRestApiActionRequest` + """ + model = CreateRestApiActionRequest() + if include_optional: + return CreateRestApiActionRequest( + workflow_action = sailpoint.nerm.models.rest_api_action.RestApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a Restful API.', + archived = False, ) + ) + else: + return CreateRestApiActionRequest( + ) + """ + + def testCreateRestApiActionRequest(self): + """Test CreateRestApiActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_review_action_request.py b/sailpoint/nerm/test/test_create_review_action_request.py new file mode 100644 index 000000000..62fda7f3e --- /dev/null +++ b/sailpoint/nerm/test/test_create_review_action_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_review_action_request import CreateReviewActionRequest + +class TestCreateReviewActionRequest(unittest.TestCase): + """CreateReviewActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateReviewActionRequest: + """Test CreateReviewActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateReviewActionRequest` + """ + model = CreateReviewActionRequest() + if include_optional: + return CreateReviewActionRequest( + workflow_action = sailpoint.nerm.models.review_action.ReviewAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows the requester to review.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False, ) + ) + else: + return CreateReviewActionRequest( + ) + """ + + def testCreateReviewActionRequest(self): + """Test CreateReviewActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_run_workflow_action_request.py b/sailpoint/nerm/test/test_create_run_workflow_action_request.py new file mode 100644 index 000000000..d7251a56d --- /dev/null +++ b/sailpoint/nerm/test/test_create_run_workflow_action_request.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_run_workflow_action_request import CreateRunWorkflowActionRequest + +class TestCreateRunWorkflowActionRequest(unittest.TestCase): + """CreateRunWorkflowActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateRunWorkflowActionRequest: + """Test CreateRunWorkflowActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateRunWorkflowActionRequest` + """ + model = CreateRunWorkflowActionRequest() + if include_optional: + return CreateRunWorkflowActionRequest( + workflow_action = sailpoint.nerm.models.run_workflow_action.RunWorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Runs another workflow with the ability to pass data in between.', + archived = False, + configuration_attributes = sailpoint.nerm.models.run_workflow_action_configuration_attributes.RunWorkflowAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + profile_to_send = 'current', + return_profile = False, + run_workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), ) + ) + else: + return CreateRunWorkflowActionRequest( + ) + """ + + def testCreateRunWorkflowActionRequest(self): + """Test CreateRunWorkflowActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_set_attributes_action_request.py b/sailpoint/nerm/test/test_create_set_attributes_action_request.py new file mode 100644 index 000000000..0471eee34 --- /dev/null +++ b/sailpoint/nerm/test/test_create_set_attributes_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_set_attributes_action_request import CreateSetAttributesActionRequest + +class TestCreateSetAttributesActionRequest(unittest.TestCase): + """CreateSetAttributesActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSetAttributesActionRequest: + """Test CreateSetAttributesActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSetAttributesActionRequest` + """ + model = CreateSetAttributesActionRequest() + if include_optional: + return CreateSetAttributesActionRequest( + workflow_action = sailpoint.nerm.models.set_attributes_action.SetAttributesAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Set attribute(s) to a specific value.', + archived = False, ) + ) + else: + return CreateSetAttributesActionRequest( + ) + """ + + def testCreateSetAttributesActionRequest(self): + """Test CreateSetAttributesActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_set_security_question_action_request.py b/sailpoint/nerm/test/test_create_set_security_question_action_request.py new file mode 100644 index 000000000..e17aad2d7 --- /dev/null +++ b/sailpoint/nerm/test/test_create_set_security_question_action_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_set_security_question_action_request import CreateSetSecurityQuestionActionRequest + +class TestCreateSetSecurityQuestionActionRequest(unittest.TestCase): + """CreateSetSecurityQuestionActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSetSecurityQuestionActionRequest: + """Test CreateSetSecurityQuestionActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSetSecurityQuestionActionRequest` + """ + model = CreateSetSecurityQuestionActionRequest() + if include_optional: + return CreateSetSecurityQuestionActionRequest( + workflow_action = sailpoint.nerm.models.set_security_question_action.SetSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to provide some personal security questions and answers.', + archived = False, + number_of_questions = 1, ) + ) + else: + return CreateSetSecurityQuestionActionRequest( + ) + """ + + def testCreateSetSecurityQuestionActionRequest(self): + """Test CreateSetSecurityQuestionActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_soap_api_action_request.py b/sailpoint/nerm/test/test_create_soap_api_action_request.py new file mode 100644 index 000000000..fb0996450 --- /dev/null +++ b/sailpoint/nerm/test/test_create_soap_api_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_soap_api_action_request import CreateSoapApiActionRequest + +class TestCreateSoapApiActionRequest(unittest.TestCase): + """CreateSoapApiActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSoapApiActionRequest: + """Test CreateSoapApiActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSoapApiActionRequest` + """ + model = CreateSoapApiActionRequest() + if include_optional: + return CreateSoapApiActionRequest( + workflow_action = sailpoint.nerm.models.soap_api_action.SoapApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a SOAP API.', + archived = False, ) + ) + else: + return CreateSoapApiActionRequest( + ) + """ + + def testCreateSoapApiActionRequest(self): + """Test CreateSoapApiActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_status_change_action_request.py b/sailpoint/nerm/test/test_create_status_change_action_request.py new file mode 100644 index 000000000..ddcc250e3 --- /dev/null +++ b/sailpoint/nerm/test/test_create_status_change_action_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_status_change_action_request import CreateStatusChangeActionRequest + +class TestCreateStatusChangeActionRequest(unittest.TestCase): + """CreateStatusChangeActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateStatusChangeActionRequest: + """Test CreateStatusChangeActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateStatusChangeActionRequest` + """ + model = CreateStatusChangeActionRequest() + if include_optional: + return CreateStatusChangeActionRequest( + workflow_action = sailpoint.nerm.models.status_change_action.StatusChangeAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Changes the status of a non-employee.', + new_status = 'Active', + archived = False, ) + ) + else: + return CreateStatusChangeActionRequest( + ) + """ + + def testCreateStatusChangeActionRequest(self): + """Test CreateStatusChangeActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_synced_attribute201_response.py b/sailpoint/nerm/test/test_create_synced_attribute201_response.py new file mode 100644 index 000000000..706d29a2b --- /dev/null +++ b/sailpoint/nerm/test/test_create_synced_attribute201_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_synced_attribute201_response import CreateSyncedAttribute201Response + +class TestCreateSyncedAttribute201Response(unittest.TestCase): + """CreateSyncedAttribute201Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSyncedAttribute201Response: + """Test CreateSyncedAttribute201Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSyncedAttribute201Response` + """ + model = CreateSyncedAttribute201Response() + if include_optional: + return CreateSyncedAttribute201Response( + synced_attribute = sailpoint.nerm.models.synced_attribute.SyncedAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + profile_type_id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + ne_attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) + ) + else: + return CreateSyncedAttribute201Response( + ) + """ + + def testCreateSyncedAttribute201Response(self): + """Test CreateSyncedAttribute201Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_system_role_permission200_response.py b/sailpoint/nerm/test/test_create_system_role_permission200_response.py new file mode 100644 index 000000000..3e5eada1a --- /dev/null +++ b/sailpoint/nerm/test/test_create_system_role_permission200_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_system_role_permission200_response import CreateSystemRolePermission200Response + +class TestCreateSystemRolePermission200Response(unittest.TestCase): + """CreateSystemRolePermission200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSystemRolePermission200Response: + """Test CreateSystemRolePermission200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSystemRolePermission200Response` + """ + model = CreateSystemRolePermission200Response() + if include_optional: + return CreateSystemRolePermission200Response( + system_role_permission = sailpoint.nerm.models.system_role_permission.SystemRolePermission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', ) + ) + else: + return CreateSystemRolePermission200Response( + ) + """ + + def testCreateSystemRolePermission200Response(self): + """Test CreateSystemRolePermission200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_system_role_permission_request.py b/sailpoint/nerm/test/test_create_system_role_permission_request.py new file mode 100644 index 000000000..42e69a626 --- /dev/null +++ b/sailpoint/nerm/test/test_create_system_role_permission_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_system_role_permission_request import CreateSystemRolePermissionRequest + +class TestCreateSystemRolePermissionRequest(unittest.TestCase): + """CreateSystemRolePermissionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSystemRolePermissionRequest: + """Test CreateSystemRolePermissionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSystemRolePermissionRequest` + """ + model = CreateSystemRolePermissionRequest() + if include_optional: + return CreateSystemRolePermissionRequest( + system_role_permission = sailpoint.nerm.models.system_role_permission_1.SystemRolePermission_1( + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0, ) + ) + else: + return CreateSystemRolePermissionRequest( + ) + """ + + def testCreateSystemRolePermissionRequest(self): + """Test CreateSystemRolePermissionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_unassign_action_request.py b/sailpoint/nerm/test/test_create_unassign_action_request.py new file mode 100644 index 000000000..43d4e811b --- /dev/null +++ b/sailpoint/nerm/test/test_create_unassign_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_unassign_action_request import CreateUnassignActionRequest + +class TestCreateUnassignActionRequest(unittest.TestCase): + """CreateUnassignActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUnassignActionRequest: + """Test CreateUnassignActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUnassignActionRequest` + """ + model = CreateUnassignActionRequest() + if include_optional: + return CreateUnassignActionRequest( + workflow_action = sailpoint.nerm.models.unassign_action.UnassignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Un-assigns roles from a profile.', + archived = False, ) + ) + else: + return CreateUnassignActionRequest( + ) + """ + + def testCreateUnassignActionRequest(self): + """Test CreateUnassignActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_update_profile_action_request.py b/sailpoint/nerm/test/test_create_update_profile_action_request.py new file mode 100644 index 000000000..b72a58af6 --- /dev/null +++ b/sailpoint/nerm/test/test_create_update_profile_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_update_profile_action_request import CreateUpdateProfileActionRequest + +class TestCreateUpdateProfileActionRequest(unittest.TestCase): + """CreateUpdateProfileActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUpdateProfileActionRequest: + """Test CreateUpdateProfileActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUpdateProfileActionRequest` + """ + model = CreateUpdateProfileActionRequest() + if include_optional: + return CreateUpdateProfileActionRequest( + workflow_action = sailpoint.nerm.models.update_profile_action.UpdateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a profile with all attributes collected during the workflow.', + archived = False, ) + ) + else: + return CreateUpdateProfileActionRequest( + ) + """ + + def testCreateUpdateProfileActionRequest(self): + """Test CreateUpdateProfileActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_update_workflow_request.py b/sailpoint/nerm/test/test_create_update_workflow_request.py new file mode 100644 index 000000000..6e177f38d --- /dev/null +++ b/sailpoint/nerm/test/test_create_update_workflow_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_update_workflow_request import CreateUpdateWorkflowRequest + +class TestCreateUpdateWorkflowRequest(unittest.TestCase): + """CreateUpdateWorkflowRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUpdateWorkflowRequest: + """Test CreateUpdateWorkflowRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUpdateWorkflowRequest` + """ + model = CreateUpdateWorkflowRequest() + if include_optional: + return CreateUpdateWorkflowRequest( + workflow = sailpoint.nerm.models.update_workflow.UpdateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + profile_status = 'active', + disable_failure_email_notifications = False, ) + ) + else: + return CreateUpdateWorkflowRequest( + ) + """ + + def testCreateUpdateWorkflowRequest(self): + """Test CreateUpdateWorkflowRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_user_profiles200_response.py b/sailpoint/nerm/test/test_create_user_profiles200_response.py new file mode 100644 index 000000000..0ce938065 --- /dev/null +++ b/sailpoint/nerm/test/test_create_user_profiles200_response.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_user_profiles200_response import CreateUserProfiles200Response + +class TestCreateUserProfiles200Response(unittest.TestCase): + """CreateUserProfiles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUserProfiles200Response: + """Test CreateUserProfiles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUserProfiles200Response` + """ + model = CreateUserProfiles200Response() + if include_optional: + return CreateUserProfiles200Response( + user_profiles = [ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return CreateUserProfiles200Response( + ) + """ + + def testCreateUserProfiles200Response(self): + """Test CreateUserProfiles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_user_profiles_request.py b/sailpoint/nerm/test/test_create_user_profiles_request.py new file mode 100644 index 000000000..4c92f149d --- /dev/null +++ b/sailpoint/nerm/test/test_create_user_profiles_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_user_profiles_request import CreateUserProfilesRequest + +class TestCreateUserProfilesRequest(unittest.TestCase): + """CreateUserProfilesRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUserProfilesRequest: + """Test CreateUserProfilesRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUserProfilesRequest` + """ + model = CreateUserProfilesRequest() + if include_optional: + return CreateUserProfilesRequest( + user_profiles = [ + sailpoint.nerm.models.user_profile_1.UserProfile_1( + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ] + ) + else: + return CreateUserProfilesRequest( + ) + """ + + def testCreateUserProfilesRequest(self): + """Test CreateUserProfilesRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_username_password_action_request.py b/sailpoint/nerm/test/test_create_username_password_action_request.py new file mode 100644 index 000000000..02a69f3b5 --- /dev/null +++ b/sailpoint/nerm/test/test_create_username_password_action_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_username_password_action_request import CreateUsernamePasswordActionRequest + +class TestCreateUsernamePasswordActionRequest(unittest.TestCase): + """CreateUsernamePasswordActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateUsernamePasswordActionRequest: + """Test CreateUsernamePasswordActionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateUsernamePasswordActionRequest` + """ + model = CreateUsernamePasswordActionRequest() + if include_optional: + return CreateUsernamePasswordActionRequest( + workflow_action = sailpoint.nerm.models.username_password_action.UsernamePasswordAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user for their username and password.', + archived = False, ) + ) + else: + return CreateUsernamePasswordActionRequest( + ) + """ + + def testCreateUsernamePasswordActionRequest(self): + """Test CreateUsernamePasswordActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_workflow.py b/sailpoint/nerm/test/test_create_workflow.py new file mode 100644 index 000000000..3408e2b63 --- /dev/null +++ b/sailpoint/nerm/test/test_create_workflow.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_workflow import CreateWorkflow + +class TestCreateWorkflow(unittest.TestCase): + """CreateWorkflow unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateWorkflow: + """Test CreateWorkflow + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateWorkflow` + """ + model = CreateWorkflow() + if include_optional: + return CreateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + disable_failure_email_notifications = False + ) + else: + return CreateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + ) + """ + + def testCreateWorkflow(self): + """Test CreateWorkflow""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_workflow_action_performer200_response.py b/sailpoint/nerm/test/test_create_workflow_action_performer200_response.py new file mode 100644 index 000000000..5f23008d3 --- /dev/null +++ b/sailpoint/nerm/test/test_create_workflow_action_performer200_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_workflow_action_performer200_response import CreateWorkflowActionPerformer200Response + +class TestCreateWorkflowActionPerformer200Response(unittest.TestCase): + """CreateWorkflowActionPerformer200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateWorkflowActionPerformer200Response: + """Test CreateWorkflowActionPerformer200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateWorkflowActionPerformer200Response` + """ + model = CreateWorkflowActionPerformer200Response() + if include_optional: + return CreateWorkflowActionPerformer200Response( + workflow_action_performer = sailpoint.nerm.models.workflow_action_performers.WorkflowActionPerformers( + id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', ) + ) + else: + return CreateWorkflowActionPerformer200Response( + ) + """ + + def testCreateWorkflowActionPerformer200Response(self): + """Test CreateWorkflowActionPerformer200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_workflow_action_performer_request.py b/sailpoint/nerm/test/test_create_workflow_action_performer_request.py new file mode 100644 index 000000000..f9e5dc7fd --- /dev/null +++ b/sailpoint/nerm/test/test_create_workflow_action_performer_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_workflow_action_performer_request import CreateWorkflowActionPerformerRequest + +class TestCreateWorkflowActionPerformerRequest(unittest.TestCase): + """CreateWorkflowActionPerformerRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateWorkflowActionPerformerRequest: + """Test CreateWorkflowActionPerformerRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateWorkflowActionPerformerRequest` + """ + model = CreateWorkflowActionPerformerRequest() + if include_optional: + return CreateWorkflowActionPerformerRequest( + workflow_action_performers = sailpoint.nerm.models.workflow_action_performers_1.WorkflowActionPerformers_1( + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', ) + ) + else: + return CreateWorkflowActionPerformerRequest( + ) + """ + + def testCreateWorkflowActionPerformerRequest(self): + """Test CreateWorkflowActionPerformerRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_create_workflow_page_request.py b/sailpoint/nerm/test/test_create_workflow_page_request.py new file mode 100644 index 000000000..9660b2d44 --- /dev/null +++ b/sailpoint/nerm/test/test_create_workflow_page_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.create_workflow_page_request import CreateWorkflowPageRequest + +class TestCreateWorkflowPageRequest(unittest.TestCase): + """CreateWorkflowPageRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateWorkflowPageRequest: + """Test CreateWorkflowPageRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateWorkflowPageRequest` + """ + model = CreateWorkflowPageRequest() + if include_optional: + return CreateWorkflowPageRequest( + page = sailpoint.nerm.models.workflow_page.WorkflowPage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) + ) + else: + return CreateWorkflowPageRequest( + ) + """ + + def testCreateWorkflowPageRequest(self): + """Test CreateWorkflowPageRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_data_records.py b/sailpoint/nerm/test/test_data_records.py new file mode 100644 index 000000000..7e5c71777 --- /dev/null +++ b/sailpoint/nerm/test/test_data_records.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.data_records import DataRecords + +class TestDataRecords(unittest.TestCase): + """DataRecords unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataRecords: + """Test DataRecords + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataRecords` + """ + model = DataRecords() + if include_optional: + return DataRecords( + master_record_id = '456738c9ba999a0076cf8a9b' + ) + else: + return DataRecords( + ) + """ + + def testDataRecords(self): + """Test DataRecords""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegation.py b/sailpoint/nerm/test/test_delegation.py new file mode 100644 index 000000000..c69c451f4 --- /dev/null +++ b/sailpoint/nerm/test/test_delegation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegation import Delegation + +class TestDelegation(unittest.TestCase): + """Delegation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Delegation: + """Test Delegation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Delegation` + """ + model = Delegation() + if include_optional: + return Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Delegation( + ) + """ + + def testDelegation(self): + """Test Delegation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegation1.py b/sailpoint/nerm/test/test_delegation1.py new file mode 100644 index 000000000..42255fe88 --- /dev/null +++ b/sailpoint/nerm/test/test_delegation1.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegation1 import Delegation1 + +class TestDelegation1(unittest.TestCase): + """Delegation1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Delegation1: + """Test Delegation1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Delegation1` + """ + model = Delegation1() + if include_optional: + return Delegation1( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z' + ) + else: + return Delegation1( + ) + """ + + def testDelegation1(self): + """Test Delegation1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegations_api.py b/sailpoint/nerm/test/test_delegations_api.py new file mode 100644 index 000000000..466cc24fd --- /dev/null +++ b/sailpoint/nerm/test/test_delegations_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.delegations_api import DelegationsApi + + +class TestDelegationsApi(unittest.TestCase): + """DelegationsApi unit test stubs""" + + def setUp(self) -> None: + self.api = DelegationsApi() + + def tearDown(self) -> None: + pass + + def test_delegations_get(self) -> None: + """Test case for delegations_get + + List delegations + """ + pass + + def test_delegations_id_delete(self) -> None: + """Test case for delegations_id_delete + + Delete a delegation + """ + pass + + def test_delegations_id_get(self) -> None: + """Test case for delegations_id_get + + Get a single delegation + """ + pass + + def test_delegations_id_patch(self) -> None: + """Test case for delegations_id_patch + + Update a delegation + """ + pass + + def test_delegations_post(self) -> None: + """Test case for delegations_post + + Create a delegation + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegations_get200_response.py b/sailpoint/nerm/test/test_delegations_get200_response.py new file mode 100644 index 000000000..478adbd6f --- /dev/null +++ b/sailpoint/nerm/test/test_delegations_get200_response.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegations_get200_response import DelegationsGet200Response + +class TestDelegationsGet200Response(unittest.TestCase): + """DelegationsGet200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsGet200Response: + """Test DelegationsGet200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsGet200Response` + """ + model = DelegationsGet200Response() + if include_optional: + return DelegationsGet200Response( + delegations = [ + sailpoint.nerm.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return DelegationsGet200Response( + ) + """ + + def testDelegationsGet200Response(self): + """Test DelegationsGet200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegations_post201_response.py b/sailpoint/nerm/test/test_delegations_post201_response.py new file mode 100644 index 000000000..d56dfa683 --- /dev/null +++ b/sailpoint/nerm/test/test_delegations_post201_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegations_post201_response import DelegationsPost201Response + +class TestDelegationsPost201Response(unittest.TestCase): + """DelegationsPost201Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPost201Response: + """Test DelegationsPost201Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPost201Response` + """ + model = DelegationsPost201Response() + if include_optional: + return DelegationsPost201Response( + delegation = sailpoint.nerm.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return DelegationsPost201Response( + ) + """ + + def testDelegationsPost201Response(self): + """Test DelegationsPost201Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegations_post404_response.py b/sailpoint/nerm/test/test_delegations_post404_response.py new file mode 100644 index 000000000..64400e521 --- /dev/null +++ b/sailpoint/nerm/test/test_delegations_post404_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegations_post404_response import DelegationsPost404Response + +class TestDelegationsPost404Response(unittest.TestCase): + """DelegationsPost404Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPost404Response: + """Test DelegationsPost404Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPost404Response` + """ + model = DelegationsPost404Response() + if include_optional: + return DelegationsPost404Response( + error = The requested Profile was not found + ) + else: + return DelegationsPost404Response( + ) + """ + + def testDelegationsPost404Response(self): + """Test DelegationsPost404Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delegations_post_request.py b/sailpoint/nerm/test/test_delegations_post_request.py new file mode 100644 index 000000000..1672be2b5 --- /dev/null +++ b/sailpoint/nerm/test/test_delegations_post_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delegations_post_request import DelegationsPostRequest + +class TestDelegationsPostRequest(unittest.TestCase): + """DelegationsPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPostRequest: + """Test DelegationsPostRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPostRequest` + """ + model = DelegationsPostRequest() + if include_optional: + return DelegationsPostRequest( + delegation = sailpoint.nerm.models.delegation_1.Delegation_1( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z', ) + ) + else: + return DelegationsPostRequest( + ) + """ + + def testDelegationsPostRequest(self): + """Test DelegationsPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delete_attribute_option_by_id200_response.py b/sailpoint/nerm/test/test_delete_attribute_option_by_id200_response.py new file mode 100644 index 000000000..1d715c232 --- /dev/null +++ b/sailpoint/nerm/test/test_delete_attribute_option_by_id200_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delete_attribute_option_by_id200_response import DeleteAttributeOptionById200Response + +class TestDeleteAttributeOptionById200Response(unittest.TestCase): + """DeleteAttributeOptionById200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteAttributeOptionById200Response: + """Test DeleteAttributeOptionById200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteAttributeOptionById200Response` + """ + model = DeleteAttributeOptionById200Response() + if include_optional: + return DeleteAttributeOptionById200Response( + info = 'The option {Option Value} has been deleted' + ) + else: + return DeleteAttributeOptionById200Response( + ) + """ + + def testDeleteAttributeOptionById200Response(self): + """Test DeleteAttributeOptionById200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delete_master_record400_response.py b/sailpoint/nerm/test/test_delete_master_record400_response.py new file mode 100644 index 000000000..4e0afa5de --- /dev/null +++ b/sailpoint/nerm/test/test_delete_master_record400_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delete_master_record400_response import DeleteMasterRecord400Response + +class TestDeleteMasterRecord400Response(unittest.TestCase): + """DeleteMasterRecord400Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteMasterRecord400Response: + """Test DeleteMasterRecord400Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteMasterRecord400Response` + """ + model = DeleteMasterRecord400Response() + if include_optional: + return DeleteMasterRecord400Response( + error = '' + ) + else: + return DeleteMasterRecord400Response( + ) + """ + + def testDeleteMasterRecord400Response(self): + """Test DeleteMasterRecord400Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delete_profile_type_by_id200_response.py b/sailpoint/nerm/test/test_delete_profile_type_by_id200_response.py new file mode 100644 index 000000000..63bb29b8e --- /dev/null +++ b/sailpoint/nerm/test/test_delete_profile_type_by_id200_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delete_profile_type_by_id200_response import DeleteProfileTypeById200Response + +class TestDeleteProfileTypeById200Response(unittest.TestCase): + """DeleteProfileTypeById200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteProfileTypeById200Response: + """Test DeleteProfileTypeById200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteProfileTypeById200Response` + """ + model = DeleteProfileTypeById200Response() + if include_optional: + return DeleteProfileTypeById200Response( + info = object deleted + ) + else: + return DeleteProfileTypeById200Response( + ) + """ + + def testDeleteProfileTypeById200Response(self): + """Test DeleteProfileTypeById200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_delete_profiles200_response.py b/sailpoint/nerm/test/test_delete_profiles200_response.py new file mode 100644 index 000000000..6cc63d1fa --- /dev/null +++ b/sailpoint/nerm/test/test_delete_profiles200_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.delete_profiles200_response import DeleteProfiles200Response + +class TestDeleteProfiles200Response(unittest.TestCase): + """DeleteProfiles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteProfiles200Response: + """Test DeleteProfiles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteProfiles200Response` + """ + model = DeleteProfiles200Response() + if include_optional: + return DeleteProfiles200Response( + profiles = [ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return DeleteProfiles200Response( + ) + """ + + def testDeleteProfiles200Response(self): + """Test DeleteProfiles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_duplicate_prevention_action.py b/sailpoint/nerm/test/test_duplicate_prevention_action.py new file mode 100644 index 000000000..a9969f1fd --- /dev/null +++ b/sailpoint/nerm/test/test_duplicate_prevention_action.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.duplicate_prevention_action import DuplicatePreventionAction + +class TestDuplicatePreventionAction(unittest.TestCase): + """DuplicatePreventionAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DuplicatePreventionAction: + """Test DuplicatePreventionAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DuplicatePreventionAction` + """ + model = DuplicatePreventionAction() + if include_optional: + return DuplicatePreventionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows a user to select an already existing profile, or create a new one for the request.', + search_scope = 'current', + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False + ) + else: + return DuplicatePreventionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows a user to select an already existing profile, or create a new one for the request.', + search_scope = 'current', + ) + """ + + def testDuplicatePreventionAction(self): + """Test DuplicatePreventionAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_email_verification_action.py b/sailpoint/nerm/test/test_email_verification_action.py new file mode 100644 index 000000000..6a9bb294d --- /dev/null +++ b/sailpoint/nerm/test/test_email_verification_action.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.email_verification_action import EmailVerificationAction + +class TestEmailVerificationAction(unittest.TestCase): + """EmailVerificationAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EmailVerificationAction: + """Test EmailVerificationAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EmailVerificationAction` + """ + model = EmailVerificationAction() + if include_optional: + return EmailVerificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user verify their email address.', + email_expiration = 20, + token_expiration = 1, + token_expiration_type = 'days', + archived = False + ) + else: + return EmailVerificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user verify their email address.', + email_expiration = 20, + token_expiration = 1, + token_expiration_type = 'days', + ) + """ + + def testEmailVerificationAction(self): + """Test EmailVerificationAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_form.py b/sailpoint/nerm/test/test_form.py new file mode 100644 index 000000000..2fc1222d6 --- /dev/null +++ b/sailpoint/nerm/test/test_form.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.form import Form + +class TestForm(unittest.TestCase): + """Form unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Form: + """Test Form + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Form` + """ + model = Form() + if include_optional: + return Form( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d' + ) + else: + return Form( + ) + """ + + def testForm(self): + """Test Form""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_form1.py b/sailpoint/nerm/test/test_form1.py new file mode 100644 index 000000000..154fbc91d --- /dev/null +++ b/sailpoint/nerm/test/test_form1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.form1 import Form1 + +class TestForm1(unittest.TestCase): + """Form1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Form1: + """Test Form1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Form1` + """ + model = Form1() + if include_optional: + return Form1( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False + ) + else: + return Form1( + ) + """ + + def testForm1(self): + """Test Form1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_form_attribute.py b/sailpoint/nerm/test/test_form_attribute.py new file mode 100644 index 000000000..6fa55d109 --- /dev/null +++ b/sailpoint/nerm/test/test_form_attribute.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.form_attribute import FormAttribute + +class TestFormAttribute(unittest.TestCase): + """FormAttribute unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FormAttribute: + """Test FormAttribute + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FormAttribute` + """ + model = FormAttribute() + if include_optional: + return FormAttribute( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1, + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return FormAttribute( + ) + """ + + def testFormAttribute(self): + """Test FormAttribute""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_form_attributes.py b/sailpoint/nerm/test/test_form_attributes.py new file mode 100644 index 000000000..f0b87fbcc --- /dev/null +++ b/sailpoint/nerm/test/test_form_attributes.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.form_attributes import FormAttributes + +class TestFormAttributes(unittest.TestCase): + """FormAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FormAttributes: + """Test FormAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FormAttributes` + """ + model = FormAttributes() + if include_optional: + return FormAttributes( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1 + ) + else: + return FormAttributes( + ) + """ + + def testFormAttributes(self): + """Test FormAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_form_attributes_api.py b/sailpoint/nerm/test/test_form_attributes_api.py new file mode 100644 index 000000000..e71199dd2 --- /dev/null +++ b/sailpoint/nerm/test/test_form_attributes_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.form_attributes_api import FormAttributesApi + + +class TestFormAttributesApi(unittest.TestCase): + """FormAttributesApi unit test stubs""" + + def setUp(self) -> None: + self.api = FormAttributesApi() + + def tearDown(self) -> None: + pass + + def test_create_form_attribute(self) -> None: + """Test case for create_form_attribute + + Create a form attribute + """ + pass + + def test_delete_form_attribute_by_id(self) -> None: + """Test case for delete_form_attribute_by_id + + Delete form attribute + """ + pass + + def test_delete_form_attribute_by_uid(self) -> None: + """Test case for delete_form_attribute_by_uid + + Delete form attribute + """ + pass + + def test_get_form_attribute_by_id(self) -> None: + """Test case for get_form_attribute_by_id + + Get form attribute data + """ + pass + + def test_get_form_attribute_by_uid(self) -> None: + """Test case for get_form_attribute_by_uid + + Get form attribute data + """ + pass + + def test_get_form_attributes(self) -> None: + """Test case for get_form_attributes + + Get form attributes + """ + pass + + def test_update_form_attribute_by_id(self) -> None: + """Test case for update_form_attribute_by_id + + Update form attribute data + """ + pass + + def test_update_form_attribute_by_uid(self) -> None: + """Test case for update_form_attribute_by_uid + + Update form attribute data + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_forms.py b/sailpoint/nerm/test/test_forms.py new file mode 100644 index 000000000..209fc2eb8 --- /dev/null +++ b/sailpoint/nerm/test/test_forms.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.forms import Forms + +class TestForms(unittest.TestCase): + """Forms unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Forms: + """Test Forms + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Forms` + """ + model = Forms() + if include_optional: + return Forms( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False + ) + else: + return Forms( + ) + """ + + def testForms(self): + """Test Forms""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_forms_api.py b/sailpoint/nerm/test/test_forms_api.py new file mode 100644 index 000000000..679847de4 --- /dev/null +++ b/sailpoint/nerm/test/test_forms_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.forms_api import FormsApi + + +class TestFormsApi(unittest.TestCase): + """FormsApi unit test stubs""" + + def setUp(self) -> None: + self.api = FormsApi() + + def tearDown(self) -> None: + pass + + def test_create_form(self) -> None: + """Test case for create_form + + Create a form + """ + pass + + def test_delete_form_by_id(self) -> None: + """Test case for delete_form_by_id + + Delete form by id + """ + pass + + def test_delete_form_by_uid(self) -> None: + """Test case for delete_form_by_uid + + Delete form by UID + """ + pass + + def test_get_form_by_id(self) -> None: + """Test case for get_form_by_id + + Get form data by Id + """ + pass + + def test_get_form_by_uid(self) -> None: + """Test case for get_form_by_uid + + Get form data by UID + """ + pass + + def test_get_forms(self) -> None: + """Test case for get_forms + + Get forms + """ + pass + + def test_update_form_by_id(self) -> None: + """Test case for update_form_by_id + + Update form data by id + """ + pass + + def test_update_form_by_uid(self) -> None: + """Test case for update_form_by_uid + + Update form data by UID + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_fulfillment_action.py b/sailpoint/nerm/test/test_fulfillment_action.py new file mode 100644 index 000000000..1c2647f15 --- /dev/null +++ b/sailpoint/nerm/test/test_fulfillment_action.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.fulfillment_action import FulfillmentAction + +class TestFulfillmentAction(unittest.TestCase): + """FulfillmentAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FulfillmentAction: + """Test FulfillmentAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FulfillmentAction` + """ + model = FulfillmentAction() + if include_optional: + return FulfillmentAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have another user or group provide information for the profile.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False + ) + else: + return FulfillmentAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have another user or group provide information for the profile.', + ) + """ + + def testFulfillmentAction(self): + """Test FulfillmentAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_advanced_search200_response.py b/sailpoint/nerm/test/test_get_advanced_search200_response.py new file mode 100644 index 000000000..9aea16d35 --- /dev/null +++ b/sailpoint/nerm/test/test_get_advanced_search200_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_advanced_search200_response import GetAdvancedSearch200Response + +class TestGetAdvancedSearch200Response(unittest.TestCase): + """GetAdvancedSearch200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAdvancedSearch200Response: + """Test GetAdvancedSearch200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAdvancedSearch200Response` + """ + model = GetAdvancedSearch200Response() + if include_optional: + return GetAdvancedSearch200Response( + advanced_search = [ + sailpoint.nerm.models.advanced_search.AdvancedSearch( + id = '', + uid = '', + label = '', + condition_rules_attributes = [ + null + ], ) + ] + ) + else: + return GetAdvancedSearch200Response( + ) + """ + + def testGetAdvancedSearch200Response(self): + """Test GetAdvancedSearch200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_attribute_options200_response.py b/sailpoint/nerm/test/test_get_attribute_options200_response.py new file mode 100644 index 000000000..4ee4303e7 --- /dev/null +++ b/sailpoint/nerm/test/test_get_attribute_options200_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_attribute_options200_response import GetAttributeOptions200Response + +class TestGetAttributeOptions200Response(unittest.TestCase): + """GetAttributeOptions200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAttributeOptions200Response: + """Test GetAttributeOptions200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAttributeOptions200Response` + """ + model = GetAttributeOptions200Response() + if include_optional: + return GetAttributeOptions200Response( + ne_attribute_options = [ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetAttributeOptions200Response( + ) + """ + + def testGetAttributeOptions200Response(self): + """Test GetAttributeOptions200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_attributes200_response.py b/sailpoint/nerm/test/test_get_attributes200_response.py new file mode 100644 index 000000000..26553aa70 --- /dev/null +++ b/sailpoint/nerm/test/test_get_attributes200_response.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_attributes200_response import GetAttributes200Response + +class TestGetAttributes200Response(unittest.TestCase): + """GetAttributes200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAttributes200Response: + """Test GetAttributes200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAttributes200Response` + """ + model = GetAttributes200Response() + if include_optional: + return GetAttributes200Response( + ne_attributes = [ + sailpoint.nerm.models.attribute.Attribute( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute = sailpoint.nerm.models.attribute_properties.AttributeProperties( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'myattribute', + label = 'birthday', + description = 'Your birthday', + tool_tip = 'Put your birthday here mm-dd-yyyy', + crypt = False, + archived = False, + archived_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_format = 'mm/dd/yyyy', + selectable_status = 'Active', + risk_score_setting = 'standard', + risk_type = 'OverallRisk', + ownership_driven = True, + allow_multiple_selections = True, + filtered_by_ne_attribute = True, + filtering_ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_filter_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + reverse_association_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + legacy_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + tmp_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tmp_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + profile_type_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + data_type = 'text field', + type = 'AttachmentAttribute', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetAttributes200Response( + ) + """ + + def testGetAttributes200Response(self): + """Test GetAttributes200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_attributes400_response.py b/sailpoint/nerm/test/test_get_attributes400_response.py new file mode 100644 index 000000000..c06e9ed8a --- /dev/null +++ b/sailpoint/nerm/test/test_get_attributes400_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_attributes400_response import GetAttributes400Response + +class TestGetAttributes400Response(unittest.TestCase): + """GetAttributes400Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAttributes400Response: + """Test GetAttributes400Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAttributes400Response` + """ + model = GetAttributes400Response() + if include_optional: + return GetAttributes400Response( + error = The failed to create/update, + errors = {attribute=can't be blank} + ) + else: + return GetAttributes400Response( + ) + """ + + def testGetAttributes400Response(self): + """Test GetAttributes400Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_attributes500_response.py b/sailpoint/nerm/test/test_get_attributes500_response.py new file mode 100644 index 000000000..b2530b70c --- /dev/null +++ b/sailpoint/nerm/test/test_get_attributes500_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_attributes500_response import GetAttributes500Response + +class TestGetAttributes500Response(unittest.TestCase): + """GetAttributes500Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAttributes500Response: + """Test GetAttributes500Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAttributes500Response` + """ + model = GetAttributes500Response() + if include_optional: + return GetAttributes500Response( + error = Sorry something went wrong + ) + else: + return GetAttributes500Response( + ) + """ + + def testGetAttributes500Response(self): + """Test GetAttributes500Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_form_attributes200_response.py b/sailpoint/nerm/test/test_get_form_attributes200_response.py new file mode 100644 index 000000000..ff8253cb9 --- /dev/null +++ b/sailpoint/nerm/test/test_get_form_attributes200_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_form_attributes200_response import GetFormAttributes200Response + +class TestGetFormAttributes200Response(unittest.TestCase): + """GetFormAttributes200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetFormAttributes200Response: + """Test GetFormAttributes200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetFormAttributes200Response` + """ + model = GetFormAttributes200Response() + if include_optional: + return GetFormAttributes200Response( + form_attribute = sailpoint.nerm.models.form_attribute.FormAttribute( + form_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + ne_attribute_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + attr_type = 'ne_attribute', + order = 1, + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return GetFormAttributes200Response( + ) + """ + + def testGetFormAttributes200Response(self): + """Test GetFormAttributes200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_forms200_response.py b/sailpoint/nerm/test/test_get_forms200_response.py new file mode 100644 index 000000000..e52f46a4e --- /dev/null +++ b/sailpoint/nerm/test/test_get_forms200_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_forms200_response import GetForms200Response + +class TestGetForms200Response(unittest.TestCase): + """GetForms200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetForms200Response: + """Test GetForms200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetForms200Response` + """ + model = GetForms200Response() + if include_optional: + return GetForms200Response( + forms = [ + sailpoint.nerm.models.form.Form( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', ) + ] + ) + else: + return GetForms200Response( + ) + """ + + def testGetForms200Response(self): + """Test GetForms200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_identity_proofing_results200_response.py b/sailpoint/nerm/test/test_get_identity_proofing_results200_response.py new file mode 100644 index 000000000..5f3d9cffc --- /dev/null +++ b/sailpoint/nerm/test/test_get_identity_proofing_results200_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_identity_proofing_results200_response import GetIdentityProofingResults200Response + +class TestGetIdentityProofingResults200Response(unittest.TestCase): + """GetIdentityProofingResults200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetIdentityProofingResults200Response: + """Test GetIdentityProofingResults200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetIdentityProofingResults200Response` + """ + model = GetIdentityProofingResults200Response() + if include_optional: + return GetIdentityProofingResults200Response( + identity_proofing_results = [ + sailpoint.nerm.models.identity_proofing_result.IdentityProofingResult( + id = '', + identity_proofing_action_id = '', + workflow_session_id = '', + profile_id = '', + proofing_workflow = '', + result = 'pending', + proofing_attributes = {result=approve}, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetIdentityProofingResults200Response( + ) + """ + + def testGetIdentityProofingResults200Response(self): + """Test GetIdentityProofingResults200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_job_status200_response.py b/sailpoint/nerm/test/test_get_job_status200_response.py new file mode 100644 index 000000000..0948eb8cd --- /dev/null +++ b/sailpoint/nerm/test/test_get_job_status200_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_job_status200_response import GetJobStatus200Response + +class TestGetJobStatus200Response(unittest.TestCase): + """GetJobStatus200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetJobStatus200Response: + """Test GetJobStatus200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetJobStatus200Response` + """ + model = GetJobStatus200Response() + if include_optional: + return GetJobStatus200Response( + uid = '', + status = 'complete', + job_type = 'import', + job_data = [ + sailpoint.nerm.models.get_job_status_200_response_job_data_inner.getJobStatus_200_response_job_data_inner( + user_id = '', + manager_id = '', + errors = [ + 'Validation error for record in job' + ], ) + ] + ) + else: + return GetJobStatus200Response( + ) + """ + + def testGetJobStatus200Response(self): + """Test GetJobStatus200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_job_status200_response_job_data_inner.py b/sailpoint/nerm/test/test_get_job_status200_response_job_data_inner.py new file mode 100644 index 000000000..d87dffe7d --- /dev/null +++ b/sailpoint/nerm/test/test_get_job_status200_response_job_data_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_job_status200_response_job_data_inner import GetJobStatus200ResponseJobDataInner + +class TestGetJobStatus200ResponseJobDataInner(unittest.TestCase): + """GetJobStatus200ResponseJobDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetJobStatus200ResponseJobDataInner: + """Test GetJobStatus200ResponseJobDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetJobStatus200ResponseJobDataInner` + """ + model = GetJobStatus200ResponseJobDataInner() + if include_optional: + return GetJobStatus200ResponseJobDataInner( + user_id = '', + manager_id = '', + errors = [ + 'Validation error for record in job' + ] + ) + else: + return GetJobStatus200ResponseJobDataInner( + ) + """ + + def testGetJobStatus200ResponseJobDataInner(self): + """Test GetJobStatus200ResponseJobDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_page_content_translation200_response.py b/sailpoint/nerm/test/test_get_page_content_translation200_response.py new file mode 100644 index 000000000..86b88ffe7 --- /dev/null +++ b/sailpoint/nerm/test/test_get_page_content_translation200_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_page_content_translation200_response import GetPageContentTranslation200Response + +class TestGetPageContentTranslation200Response(unittest.TestCase): + """GetPageContentTranslation200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPageContentTranslation200Response: + """Test GetPageContentTranslation200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPageContentTranslation200Response` + """ + model = GetPageContentTranslation200Response() + if include_optional: + return GetPageContentTranslation200Response( + page_content_translation = sailpoint.nerm.models.page_content_translation.PageContentTranslation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'page_content_transation_great_es_es', + locale = 'es-ES', + value = 'Es stupendo!', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return GetPageContentTranslation200Response( + ) + """ + + def testGetPageContentTranslation200Response(self): + """Test GetPageContentTranslation200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_page_contents200_response.py b/sailpoint/nerm/test/test_get_page_contents200_response.py new file mode 100644 index 000000000..09d86e889 --- /dev/null +++ b/sailpoint/nerm/test/test_get_page_contents200_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_page_contents200_response import GetPageContents200Response + +class TestGetPageContents200Response(unittest.TestCase): + """GetPageContents200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPageContents200Response: + """Test GetPageContents200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPageContents200Response` + """ + model = GetPageContents200Response() + if include_optional: + return GetPageContents200Response( + page = sailpoint.nerm.models.page_content.PageContent( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return GetPageContents200Response( + ) + """ + + def testGetPageContents200Response(self): + """Test GetPageContents200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_page_elements200_response.py b/sailpoint/nerm/test/test_get_page_elements200_response.py new file mode 100644 index 000000000..a225d7dbc --- /dev/null +++ b/sailpoint/nerm/test/test_get_page_elements200_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_page_elements200_response import GetPageElements200Response + +class TestGetPageElements200Response(unittest.TestCase): + """GetPageElements200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPageElements200Response: + """Test GetPageElements200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPageElements200Response` + """ + model = GetPageElements200Response() + if include_optional: + return GetPageElements200Response( + page_element = sailpoint.nerm.models.page_element.PageElement( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1, ) + ) + else: + return GetPageElements200Response( + ) + """ + + def testGetPageElements200Response(self): + """Test GetPageElements200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_profile_type_attributes200_response.py b/sailpoint/nerm/test/test_get_profile_type_attributes200_response.py new file mode 100644 index 000000000..c14aec300 --- /dev/null +++ b/sailpoint/nerm/test/test_get_profile_type_attributes200_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_profile_type_attributes200_response import GetProfileTypeAttributes200Response + +class TestGetProfileTypeAttributes200Response(unittest.TestCase): + """GetProfileTypeAttributes200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProfileTypeAttributes200Response: + """Test GetProfileTypeAttributes200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProfileTypeAttributes200Response` + """ + model = GetProfileTypeAttributes200Response() + if include_optional: + return GetProfileTypeAttributes200Response( + profile_type_attributes = sailpoint.nerm.models.profile_type_attributes.ProfileTypeAttributes( + count = 5, + records = [ + sailpoint.nerm.models.profile_type_attribute.ProfileTypeAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + uid = '1246d8b3-ac29-4015-8154-dea4434a73fa', + label = 'object', + synced = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) + ], ) + ) + else: + return GetProfileTypeAttributes200Response( + ) + """ + + def testGetProfileTypeAttributes200Response(self): + """Test GetProfileTypeAttributes200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_profile_type_attributes_sort_parameter.py b/sailpoint/nerm/test/test_get_profile_type_attributes_sort_parameter.py new file mode 100644 index 000000000..e012588fc --- /dev/null +++ b/sailpoint/nerm/test/test_get_profile_type_attributes_sort_parameter.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_profile_type_attributes_sort_parameter import GetProfileTypeAttributesSortParameter + +class TestGetProfileTypeAttributesSortParameter(unittest.TestCase): + """GetProfileTypeAttributesSortParameter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProfileTypeAttributesSortParameter: + """Test GetProfileTypeAttributesSortParameter + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProfileTypeAttributesSortParameter` + """ + model = GetProfileTypeAttributesSortParameter() + if include_optional: + return GetProfileTypeAttributesSortParameter( + attr = 'sync', + order = 'asc' + ) + else: + return GetProfileTypeAttributesSortParameter( + ) + """ + + def testGetProfileTypeAttributesSortParameter(self): + """Test GetProfileTypeAttributesSortParameter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_profile_types200_response.py b/sailpoint/nerm/test/test_get_profile_types200_response.py new file mode 100644 index 000000000..17c04aac0 --- /dev/null +++ b/sailpoint/nerm/test/test_get_profile_types200_response.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_profile_types200_response import GetProfileTypes200Response + +class TestGetProfileTypes200Response(unittest.TestCase): + """GetProfileTypes200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProfileTypes200Response: + """Test GetProfileTypes200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProfileTypes200Response` + """ + model = GetProfileTypes200Response() + if include_optional: + return GetProfileTypes200Response( + profile_types = [ + sailpoint.nerm.models.profile_type.ProfileType( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'ptUid', + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes = [ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings = [ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetProfileTypes200Response( + ) + """ + + def testGetProfileTypes200Response(self): + """Test GetProfileTypes200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_risk_level200_response.py b/sailpoint/nerm/test/test_get_risk_level200_response.py new file mode 100644 index 000000000..edab773af --- /dev/null +++ b/sailpoint/nerm/test/test_get_risk_level200_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_risk_level200_response import GetRiskLevel200Response + +class TestGetRiskLevel200Response(unittest.TestCase): + """GetRiskLevel200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRiskLevel200Response: + """Test GetRiskLevel200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRiskLevel200Response` + """ + model = GetRiskLevel200Response() + if include_optional: + return GetRiskLevel200Response( + risk_level = sailpoint.nerm.models.risk_level.RiskLevel( + id = '', + uid = '', + label = '', + points = 1.337, + order = 0, ) + ) + else: + return GetRiskLevel200Response( + ) + """ + + def testGetRiskLevel200Response(self): + """Test GetRiskLevel200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_risk_levels200_response.py b/sailpoint/nerm/test/test_get_risk_levels200_response.py new file mode 100644 index 000000000..e6bea5871 --- /dev/null +++ b/sailpoint/nerm/test/test_get_risk_levels200_response.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_risk_levels200_response import GetRiskLevels200Response + +class TestGetRiskLevels200Response(unittest.TestCase): + """GetRiskLevels200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRiskLevels200Response: + """Test GetRiskLevels200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRiskLevels200Response` + """ + model = GetRiskLevels200Response() + if include_optional: + return GetRiskLevels200Response( + risk_levels = [ + sailpoint.nerm.models.risk_level.RiskLevel( + id = '', + uid = '', + label = '', + points = 1.337, + order = 0, ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetRiskLevels200Response( + ) + """ + + def testGetRiskLevels200Response(self): + """Test GetRiskLevels200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_risk_score200_response.py b/sailpoint/nerm/test/test_get_risk_score200_response.py new file mode 100644 index 000000000..dfd6bb785 --- /dev/null +++ b/sailpoint/nerm/test/test_get_risk_score200_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_risk_score200_response import GetRiskScore200Response + +class TestGetRiskScore200Response(unittest.TestCase): + """GetRiskScore200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRiskScore200Response: + """Test GetRiskScore200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRiskScore200Response` + """ + model = GetRiskScore200Response() + if include_optional: + return GetRiskScore200Response( + risk_score = sailpoint.nerm.models.risk_score.RiskScore( + id = '', + uid = '', + object_id = '', + object_type = 'Profile', + overall_score = 1.337, + overall_risk_level_id = '', + impact_score = 1.337, + impact_risk_level_id = '', + probability_score = 1.337, + probability_risk_level_id = '', ) + ) + else: + return GetRiskScore200Response( + ) + """ + + def testGetRiskScore200Response(self): + """Test GetRiskScore200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_risk_scores200_response.py b/sailpoint/nerm/test/test_get_risk_scores200_response.py new file mode 100644 index 000000000..0cc576f29 --- /dev/null +++ b/sailpoint/nerm/test/test_get_risk_scores200_response.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_risk_scores200_response import GetRiskScores200Response + +class TestGetRiskScores200Response(unittest.TestCase): + """GetRiskScores200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRiskScores200Response: + """Test GetRiskScores200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRiskScores200Response` + """ + model = GetRiskScores200Response() + if include_optional: + return GetRiskScores200Response( + risk_scores = [ + sailpoint.nerm.models.risk_score.RiskScore( + id = '', + uid = '', + object_id = '', + object_type = 'Profile', + overall_score = 1.337, + overall_risk_level_id = '', + impact_score = 1.337, + impact_risk_level_id = '', + probability_score = 1.337, + probability_risk_level_id = '', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetRiskScores200Response( + ) + """ + + def testGetRiskScores200Response(self): + """Test GetRiskScores200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_role_profiles200_response.py b/sailpoint/nerm/test/test_get_role_profiles200_response.py new file mode 100644 index 000000000..96a27ea37 --- /dev/null +++ b/sailpoint/nerm/test/test_get_role_profiles200_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_role_profiles200_response import GetRoleProfiles200Response + +class TestGetRoleProfiles200Response(unittest.TestCase): + """GetRoleProfiles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoleProfiles200Response: + """Test GetRoleProfiles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoleProfiles200Response` + """ + model = GetRoleProfiles200Response() + if include_optional: + return GetRoleProfiles200Response( + role_profiles = [ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetRoleProfiles200Response( + ) + """ + + def testGetRoleProfiles200Response(self): + """Test GetRoleProfiles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_roles200_response.py b/sailpoint/nerm/test/test_get_roles200_response.py new file mode 100644 index 000000000..48e3a4558 --- /dev/null +++ b/sailpoint/nerm/test/test_get_roles200_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_roles200_response import GetRoles200Response + +class TestGetRoles200Response(unittest.TestCase): + """GetRoles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoles200Response: + """Test GetRoles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoles200Response` + """ + model = GetRoles200Response() + if include_optional: + return GetRoles200Response( + roles = [ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetRoles200Response( + ) + """ + + def testGetRoles200Response(self): + """Test GetRoles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_schema_mapped_profiles_collection200_response.py b/sailpoint/nerm/test/test_get_schema_mapped_profiles_collection200_response.py new file mode 100644 index 000000000..ca83d14d7 --- /dev/null +++ b/sailpoint/nerm/test/test_get_schema_mapped_profiles_collection200_response.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_schema_mapped_profiles_collection200_response import GetSchemaMappedProfilesCollection200Response + +class TestGetSchemaMappedProfilesCollection200Response(unittest.TestCase): + """GetSchemaMappedProfilesCollection200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSchemaMappedProfilesCollection200Response: + """Test GetSchemaMappedProfilesCollection200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSchemaMappedProfilesCollection200Response` + """ + model = GetSchemaMappedProfilesCollection200Response() + if include_optional: + return GetSchemaMappedProfilesCollection200Response( + profiles = [ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], + metadata = sailpoint.nerm.models.metadata_with_after_id.MetadataWithAfterId( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', + after_id = '4eaa719f-4312-4c5b-9264-d0eb04d4a02a', ) + ) + else: + return GetSchemaMappedProfilesCollection200Response( + ) + """ + + def testGetSchemaMappedProfilesCollection200Response(self): + """Test GetSchemaMappedProfilesCollection200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_single_schema_mapped_profile200_response.py b/sailpoint/nerm/test/test_get_single_schema_mapped_profile200_response.py new file mode 100644 index 000000000..04f561a80 --- /dev/null +++ b/sailpoint/nerm/test/test_get_single_schema_mapped_profile200_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_single_schema_mapped_profile200_response import GetSingleSchemaMappedProfile200Response + +class TestGetSingleSchemaMappedProfile200Response(unittest.TestCase): + """GetSingleSchemaMappedProfile200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSingleSchemaMappedProfile200Response: + """Test GetSingleSchemaMappedProfile200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSingleSchemaMappedProfile200Response` + """ + model = GetSingleSchemaMappedProfile200Response() + if include_optional: + return GetSingleSchemaMappedProfile200Response( + profile = sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ) + else: + return GetSingleSchemaMappedProfile200Response( + ) + """ + + def testGetSingleSchemaMappedProfile200Response(self): + """Test GetSingleSchemaMappedProfile200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_system_roles200_response.py b/sailpoint/nerm/test/test_get_system_roles200_response.py new file mode 100644 index 000000000..fba717d63 --- /dev/null +++ b/sailpoint/nerm/test/test_get_system_roles200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_system_roles200_response import GetSystemRoles200Response + +class TestGetSystemRoles200Response(unittest.TestCase): + """GetSystemRoles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSystemRoles200Response: + """Test GetSystemRoles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSystemRoles200Response` + """ + model = GetSystemRoles200Response() + if include_optional: + return GetSystemRoles200Response( + system_roles = [ + sailpoint.nerm.models.system_role.SystemRole( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + uid = 'profile_contributor', + name = 'Profile Contributor', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetSystemRoles200Response( + ) + """ + + def testGetSystemRoles200Response(self): + """Test GetSystemRoles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_user_managers200_response.py b/sailpoint/nerm/test/test_get_user_managers200_response.py new file mode 100644 index 000000000..2acbb23a3 --- /dev/null +++ b/sailpoint/nerm/test/test_get_user_managers200_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_user_managers200_response import GetUserManagers200Response + +class TestGetUserManagers200Response(unittest.TestCase): + """GetUserManagers200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserManagers200Response: + """Test GetUserManagers200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserManagers200Response` + """ + model = GetUserManagers200Response() + if include_optional: + return GetUserManagers200Response( + user_managers = [ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetUserManagers200Response( + ) + """ + + def testGetUserManagers200Response(self): + """Test GetUserManagers200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_user_profiles200_response.py b/sailpoint/nerm/test/test_get_user_profiles200_response.py new file mode 100644 index 000000000..7a8473aa3 --- /dev/null +++ b/sailpoint/nerm/test/test_get_user_profiles200_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_user_profiles200_response import GetUserProfiles200Response + +class TestGetUserProfiles200Response(unittest.TestCase): + """GetUserProfiles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserProfiles200Response: + """Test GetUserProfiles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserProfiles200Response` + """ + model = GetUserProfiles200Response() + if include_optional: + return GetUserProfiles200Response( + user_profiles = [ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetUserProfiles200Response( + ) + """ + + def testGetUserProfiles200Response(self): + """Test GetUserProfiles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_user_roles200_response.py b/sailpoint/nerm/test/test_get_user_roles200_response.py new file mode 100644 index 000000000..d8904e05c --- /dev/null +++ b/sailpoint/nerm/test/test_get_user_roles200_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_user_roles200_response import GetUserRoles200Response + +class TestGetUserRoles200Response(unittest.TestCase): + """GetUserRoles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserRoles200Response: + """Test GetUserRoles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserRoles200Response` + """ + model = GetUserRoles200Response() + if include_optional: + return GetUserRoles200Response( + user_roles = [ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetUserRoles200Response( + ) + """ + + def testGetUserRoles200Response(self): + """Test GetUserRoles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_users200_response.py b/sailpoint/nerm/test/test_get_users200_response.py new file mode 100644 index 000000000..c5e462bbc --- /dev/null +++ b/sailpoint/nerm/test/test_get_users200_response.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_users200_response import GetUsers200Response + +class TestGetUsers200Response(unittest.TestCase): + """GetUsers200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUsers200Response: + """Test GetUsers200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUsers200Response` + """ + model = GetUsers200Response() + if include_optional: + return GetUsers200Response( + users = [ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetUsers200Response( + ) + """ + + def testGetUsers200Response(self): + """Test GetUsers200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_workflow_actions200_response.py b/sailpoint/nerm/test/test_get_workflow_actions200_response.py new file mode 100644 index 000000000..a6349fc9e --- /dev/null +++ b/sailpoint/nerm/test/test_get_workflow_actions200_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_workflow_actions200_response import GetWorkflowActions200Response + +class TestGetWorkflowActions200Response(unittest.TestCase): + """GetWorkflowActions200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWorkflowActions200Response: + """Test GetWorkflowActions200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWorkflowActions200Response` + """ + model = GetWorkflowActions200Response() + if include_optional: + return GetWorkflowActions200Response( + workflow_actions = sailpoint.nerm.models.workflow_action.WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + add_requester_as_owner = True, + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + new_status = 'Active, Inactive, On Leave, Terminated', + archived = False, + skippable = False, + requires_comment = False, ) + ) + else: + return GetWorkflowActions200Response( + ) + """ + + def testGetWorkflowActions200Response(self): + """Test GetWorkflowActions200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_get_workflow_sessions200_response.py b/sailpoint/nerm/test/test_get_workflow_sessions200_response.py new file mode 100644 index 000000000..244ca1849 --- /dev/null +++ b/sailpoint/nerm/test/test_get_workflow_sessions200_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.get_workflow_sessions200_response import GetWorkflowSessions200Response + +class TestGetWorkflowSessions200Response(unittest.TestCase): + """GetWorkflowSessions200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWorkflowSessions200Response: + """Test GetWorkflowSessions200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWorkflowSessions200Response` + """ + model = GetWorkflowSessions200Response() + if include_optional: + return GetWorkflowSessions200Response( + workflow_sessions = [ + sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ], + metadata = sailpoint.nerm.models.metadata.Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', ) + ) + else: + return GetWorkflowSessions200Response( + ) + """ + + def testGetWorkflowSessions200Response(self): + """Test GetWorkflowSessions200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_identity_proofing_action.py b/sailpoint/nerm/test/test_identity_proofing_action.py new file mode 100644 index 000000000..c838865d7 --- /dev/null +++ b/sailpoint/nerm/test/test_identity_proofing_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.identity_proofing_action import IdentityProofingAction + +class TestIdentityProofingAction(unittest.TestCase): + """IdentityProofingAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> IdentityProofingAction: + """Test IdentityProofingAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `IdentityProofingAction` + """ + model = IdentityProofingAction() + if include_optional: + return IdentityProofingAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user account associated with this profile validate the identity data.', + archived = False + ) + else: + return IdentityProofingAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Have the user account associated with this profile validate the identity data.', + ) + """ + + def testIdentityProofingAction(self): + """Test IdentityProofingAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_identity_proofing_result.py b/sailpoint/nerm/test/test_identity_proofing_result.py new file mode 100644 index 000000000..8668ab4ef --- /dev/null +++ b/sailpoint/nerm/test/test_identity_proofing_result.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.identity_proofing_result import IdentityProofingResult + +class TestIdentityProofingResult(unittest.TestCase): + """IdentityProofingResult unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> IdentityProofingResult: + """Test IdentityProofingResult + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `IdentityProofingResult` + """ + model = IdentityProofingResult() + if include_optional: + return IdentityProofingResult( + id = '', + identity_proofing_action_id = '', + workflow_session_id = '', + profile_id = '', + proofing_workflow = '', + result = 'pending', + proofing_attributes = {result=approve}, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return IdentityProofingResult( + ) + """ + + def testIdentityProofingResult(self): + """Test IdentityProofingResult""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_identity_proofing_results_api.py b/sailpoint/nerm/test/test_identity_proofing_results_api.py new file mode 100644 index 000000000..59904f2d2 --- /dev/null +++ b/sailpoint/nerm/test/test_identity_proofing_results_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.identity_proofing_results_api import IdentityProofingResultsApi + + +class TestIdentityProofingResultsApi(unittest.TestCase): + """IdentityProofingResultsApi unit test stubs""" + + def setUp(self) -> None: + self.api = IdentityProofingResultsApi() + + def tearDown(self) -> None: + pass + + def test_get_identity_proofing_results(self) -> None: + """Test case for get_identity_proofing_results + + Get identity proofing result data + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_invalid_json.py b/sailpoint/nerm/test/test_invalid_json.py new file mode 100644 index 000000000..b0f13f3ca --- /dev/null +++ b/sailpoint/nerm/test/test_invalid_json.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.invalid_json import InvalidJson + +class TestInvalidJson(unittest.TestCase): + """InvalidJson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InvalidJson: + """Test InvalidJson + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InvalidJson` + """ + model = InvalidJson() + if include_optional: + return InvalidJson( + error = Invalid JSON syntax. Please check your syntax and try again. + ) + else: + return InvalidJson( + ) + """ + + def testInvalidJson(self): + """Test InvalidJson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_invitation_action.py b/sailpoint/nerm/test/test_invitation_action.py new file mode 100644 index 000000000..247146118 --- /dev/null +++ b/sailpoint/nerm/test/test_invitation_action.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.invitation_action import InvitationAction + +class TestInvitationAction(unittest.TestCase): + """InvitationAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InvitationAction: + """Test InvitationAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InvitationAction` + """ + model = InvitationAction() + if include_optional: + return InvitationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a registration session associated with an email address', + archived = False, + configuration_attributes = sailpoint.nerm.models.invitation_action_configuration_attributes.InvitationAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + return_profile = False, + portal_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + registration_workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + validate_completed_registration = False, + validate_open_registration = False, ), + workflow_action_email_attributes = sailpoint.nerm.models.invitation_action_workflow_action_email_attributes.InvitationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ) + ) + else: + return InvitationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Creates a registration session associated with an email address', + ) + """ + + def testInvitationAction(self): + """Test InvitationAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_invitation_action_configuration_attributes.py b/sailpoint/nerm/test/test_invitation_action_configuration_attributes.py new file mode 100644 index 000000000..f83012566 --- /dev/null +++ b/sailpoint/nerm/test/test_invitation_action_configuration_attributes.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.invitation_action_configuration_attributes import InvitationActionConfigurationAttributes + +class TestInvitationActionConfigurationAttributes(unittest.TestCase): + """InvitationActionConfigurationAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InvitationActionConfigurationAttributes: + """Test InvitationActionConfigurationAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InvitationActionConfigurationAttributes` + """ + model = InvitationActionConfigurationAttributes() + if include_optional: + return InvitationActionConfigurationAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + return_profile = False, + portal_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + registration_workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + validate_completed_registration = False, + validate_open_registration = False + ) + else: + return InvitationActionConfigurationAttributes( + ) + """ + + def testInvitationActionConfigurationAttributes(self): + """Test InvitationActionConfigurationAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_invitation_action_workflow_action_email_attributes.py b/sailpoint/nerm/test/test_invitation_action_workflow_action_email_attributes.py new file mode 100644 index 000000000..d639a885f --- /dev/null +++ b/sailpoint/nerm/test/test_invitation_action_workflow_action_email_attributes.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.invitation_action_workflow_action_email_attributes import InvitationActionWorkflowActionEmailAttributes + +class TestInvitationActionWorkflowActionEmailAttributes(unittest.TestCase): + """InvitationActionWorkflowActionEmailAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InvitationActionWorkflowActionEmailAttributes: + """Test InvitationActionWorkflowActionEmailAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InvitationActionWorkflowActionEmailAttributes` + """ + model = InvitationActionWorkflowActionEmailAttributes() + if include_optional: + return InvitationActionWorkflowActionEmailAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail' + ) + else: + return InvitationActionWorkflowActionEmailAttributes( + ) + """ + + def testInvitationActionWorkflowActionEmailAttributes(self): + """Test InvitationActionWorkflowActionEmailAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_isc_accounts_api.py b/sailpoint/nerm/test/test_isc_accounts_api.py new file mode 100644 index 000000000..9b0100cd6 --- /dev/null +++ b/sailpoint/nerm/test/test_isc_accounts_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.isc_accounts_api import IscAccountsApi + + +class TestIscAccountsApi(unittest.TestCase): + """IscAccountsApi unit test stubs""" + + def setUp(self) -> None: + self.api = IscAccountsApi() + + def tearDown(self) -> None: + pass + + def test_get_schema_mapped_profiles_collection(self) -> None: + """Test case for get_schema_mapped_profiles_collection + + Get Profiles + """ + pass + + def test_get_single_schema_mapped_profile(self) -> None: + """Test case for get_single_schema_mapped_profile + + Get Profile + """ + pass + + def test_update_profile(self) -> None: + """Test case for update_profile + + Update Profile + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_job.py b/sailpoint/nerm/test/test_job.py new file mode 100644 index 000000000..08ce9aa8e --- /dev/null +++ b/sailpoint/nerm/test/test_job.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.job import Job + +class TestJob(unittest.TestCase): + """Job unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Job: + """Test Job + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Job` + """ + model = Job() + if include_optional: + return Job( + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return Job( + ) + """ + + def testJob(self): + """Test Job""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_job_job_status.py b/sailpoint/nerm/test/test_job_job_status.py new file mode 100644 index 000000000..b5314dcad --- /dev/null +++ b/sailpoint/nerm/test/test_job_job_status.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.job_job_status import JobJobStatus + +class TestJobJobStatus(unittest.TestCase): + """JobJobStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JobJobStatus: + """Test JobJobStatus + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JobJobStatus` + """ + model = JobJobStatus() + if include_optional: + return JobJobStatus( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued' + ) + else: + return JobJobStatus( + ) + """ + + def testJobJobStatus(self): + """Test JobJobStatus""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_job_status_api.py b/sailpoint/nerm/test/test_job_status_api.py new file mode 100644 index 000000000..136f16daa --- /dev/null +++ b/sailpoint/nerm/test/test_job_status_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.job_status_api import JobStatusApi + + +class TestJobStatusApi(unittest.TestCase): + """JobStatusApi unit test stubs""" + + def setUp(self) -> None: + self.api = JobStatusApi() + + def tearDown(self) -> None: + pass + + def test_get_job_status(self) -> None: + """Test case for get_job_status + + Get bulk job status + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_language.py b/sailpoint/nerm/test/test_language.py new file mode 100644 index 000000000..6d8d09635 --- /dev/null +++ b/sailpoint/nerm/test/test_language.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.language import Language + +class TestLanguage(unittest.TestCase): + """Language unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Language: + """Test Language + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Language` + """ + model = Language() + if include_optional: + return Language( + default = True, + enabled = True, + locale = 'es' + ) + else: + return Language( + ) + """ + + def testLanguage(self): + """Test Language""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_languages_api.py b/sailpoint/nerm/test/test_languages_api.py new file mode 100644 index 000000000..8719f7d9d --- /dev/null +++ b/sailpoint/nerm/test/test_languages_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.languages_api import LanguagesApi + + +class TestLanguagesApi(unittest.TestCase): + """LanguagesApi unit test stubs""" + + def setUp(self) -> None: + self.api = LanguagesApi() + + def tearDown(self) -> None: + pass + + def test_patch_language(self) -> None: + """Test case for patch_language + + Update a language by locale + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_ldap_action.py b/sailpoint/nerm/test/test_ldap_action.py new file mode 100644 index 000000000..6cd735d03 --- /dev/null +++ b/sailpoint/nerm/test/test_ldap_action.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.ldap_action import LdapAction + +class TestLdapAction(unittest.TestCase): + """LdapAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LdapAction: + """Test LdapAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LdapAction` + """ + model = LdapAction() + if include_optional: + return LdapAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Create a Collaboration user account for this profile.', + archived = False, + store_type = 'Local', + ldap_action_user_roles_attributes = sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes.LdapAction_ldap_action_user_roles_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + role_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ), + workflow_action_value_builders_attributes = sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes.LdapAction_workflow_action_value_builders_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + value_builder_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + position = 1, ), + workflow_action_directory_groups_attributes = sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes.LdapAction_workflow_action_directory_groups_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + directory_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + group_label = 'Admin', + group_dn = 'group', ) + ) + else: + return LdapAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Create a Collaboration user account for this profile.', + store_type = 'Local', + ) + """ + + def testLdapAction(self): + """Test LdapAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_ldap_action_ldap_action_user_roles_attributes.py b/sailpoint/nerm/test/test_ldap_action_ldap_action_user_roles_attributes.py new file mode 100644 index 000000000..f24dfcd91 --- /dev/null +++ b/sailpoint/nerm/test/test_ldap_action_ldap_action_user_roles_attributes.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.ldap_action_ldap_action_user_roles_attributes import LdapActionLdapActionUserRolesAttributes + +class TestLdapActionLdapActionUserRolesAttributes(unittest.TestCase): + """LdapActionLdapActionUserRolesAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LdapActionLdapActionUserRolesAttributes: + """Test LdapActionLdapActionUserRolesAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LdapActionLdapActionUserRolesAttributes` + """ + model = LdapActionLdapActionUserRolesAttributes() + if include_optional: + return LdapActionLdapActionUserRolesAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + role_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return LdapActionLdapActionUserRolesAttributes( + ) + """ + + def testLdapActionLdapActionUserRolesAttributes(self): + """Test LdapActionLdapActionUserRolesAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_ldap_action_workflow_action_directory_groups_attributes.py b/sailpoint/nerm/test/test_ldap_action_workflow_action_directory_groups_attributes.py new file mode 100644 index 000000000..baac3741f --- /dev/null +++ b/sailpoint/nerm/test/test_ldap_action_workflow_action_directory_groups_attributes.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.ldap_action_workflow_action_directory_groups_attributes import LdapActionWorkflowActionDirectoryGroupsAttributes + +class TestLdapActionWorkflowActionDirectoryGroupsAttributes(unittest.TestCase): + """LdapActionWorkflowActionDirectoryGroupsAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LdapActionWorkflowActionDirectoryGroupsAttributes: + """Test LdapActionWorkflowActionDirectoryGroupsAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LdapActionWorkflowActionDirectoryGroupsAttributes` + """ + model = LdapActionWorkflowActionDirectoryGroupsAttributes() + if include_optional: + return LdapActionWorkflowActionDirectoryGroupsAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + directory_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + group_label = 'Admin', + group_dn = 'group' + ) + else: + return LdapActionWorkflowActionDirectoryGroupsAttributes( + ) + """ + + def testLdapActionWorkflowActionDirectoryGroupsAttributes(self): + """Test LdapActionWorkflowActionDirectoryGroupsAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_ldap_action_workflow_action_value_builders_attributes.py b/sailpoint/nerm/test/test_ldap_action_workflow_action_value_builders_attributes.py new file mode 100644 index 000000000..ab34d4542 --- /dev/null +++ b/sailpoint/nerm/test/test_ldap_action_workflow_action_value_builders_attributes.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.ldap_action_workflow_action_value_builders_attributes import LdapActionWorkflowActionValueBuildersAttributes + +class TestLdapActionWorkflowActionValueBuildersAttributes(unittest.TestCase): + """LdapActionWorkflowActionValueBuildersAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LdapActionWorkflowActionValueBuildersAttributes: + """Test LdapActionWorkflowActionValueBuildersAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LdapActionWorkflowActionValueBuildersAttributes` + """ + model = LdapActionWorkflowActionValueBuildersAttributes() + if include_optional: + return LdapActionWorkflowActionValueBuildersAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + value_builder_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + position = 1 + ) + else: + return LdapActionWorkflowActionValueBuildersAttributes( + ) + """ + + def testLdapActionWorkflowActionValueBuildersAttributes(self): + """Test LdapActionWorkflowActionValueBuildersAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_login_workflow.py b/sailpoint/nerm/test/test_login_workflow.py new file mode 100644 index 000000000..ffbc46d1c --- /dev/null +++ b/sailpoint/nerm/test/test_login_workflow.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.login_workflow import LoginWorkflow + +class TestLoginWorkflow(unittest.TestCase): + """LoginWorkflow unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LoginWorkflow: + """Test LoginWorkflow + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LoginWorkflow` + """ + model = LoginWorkflow() + if include_optional: + return LoginWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + options = sailpoint.nerm.models.login_workflow_options.LoginWorkflow_options( + expiration_time = 1, ), + disable_failure_email_notifications = False + ) + else: + return LoginWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + ) + """ + + def testLoginWorkflow(self): + """Test LoginWorkflow""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_login_workflow_options.py b/sailpoint/nerm/test/test_login_workflow_options.py new file mode 100644 index 000000000..7f112afc0 --- /dev/null +++ b/sailpoint/nerm/test/test_login_workflow_options.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.login_workflow_options import LoginWorkflowOptions + +class TestLoginWorkflowOptions(unittest.TestCase): + """LoginWorkflowOptions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LoginWorkflowOptions: + """Test LoginWorkflowOptions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LoginWorkflowOptions` + """ + model = LoginWorkflowOptions() + if include_optional: + return LoginWorkflowOptions( + expiration_time = 1 + ) + else: + return LoginWorkflowOptions( + ) + """ + + def testLoginWorkflowOptions(self): + """Test LoginWorkflowOptions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_metadata.py b/sailpoint/nerm/test/test_metadata.py new file mode 100644 index 000000000..003f70175 --- /dev/null +++ b/sailpoint/nerm/test/test_metadata.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.metadata import Metadata + +class TestMetadata(unittest.TestCase): + """Metadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Metadata: + """Test Metadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Metadata` + """ + model = Metadata() + if include_optional: + return Metadata( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40' + ) + else: + return Metadata( + ) + """ + + def testMetadata(self): + """Test Metadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_metadata_with_after_id.py b/sailpoint/nerm/test/test_metadata_with_after_id.py new file mode 100644 index 000000000..422eaed2e --- /dev/null +++ b/sailpoint/nerm/test/test_metadata_with_after_id.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.metadata_with_after_id import MetadataWithAfterId + +class TestMetadataWithAfterId(unittest.TestCase): + """MetadataWithAfterId unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetadataWithAfterId: + """Test MetadataWithAfterId + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetadataWithAfterId` + """ + model = MetadataWithAfterId() + if include_optional: + return MetadataWithAfterId( + limit = 56, + offset = 56, + total = 56, + next = '/endpoint?limit=10&offset=60', + previous = '/endpoint?limit=10&offset=40', + after_id = '4eaa719f-4312-4c5b-9264-d0eb04d4a02a' + ) + else: + return MetadataWithAfterId( + ) + """ + + def testMetadataWithAfterId(self): + """Test MetadataWithAfterId""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_notification_action.py b/sailpoint/nerm/test/test_notification_action.py new file mode 100644 index 000000000..9fec87ed2 --- /dev/null +++ b/sailpoint/nerm/test/test_notification_action.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.notification_action import NotificationAction + +class TestNotificationAction(unittest.TestCase): + """NotificationAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NotificationAction: + """Test NotificationAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NotificationAction` + """ + model = NotificationAction() + if include_optional: + return NotificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Send a notification to a group of users.', + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + archived = False, + workflow_action_email_attributes = sailpoint.nerm.models.notification_action_workflow_action_email_attributes.NotificationAction_workflow_action_email_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail', ) + ) + else: + return NotificationAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Send a notification to a group of users.', + ) + """ + + def testNotificationAction(self): + """Test NotificationAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_notification_action_workflow_action_email_attributes.py b/sailpoint/nerm/test/test_notification_action_workflow_action_email_attributes.py new file mode 100644 index 000000000..2ded11724 --- /dev/null +++ b/sailpoint/nerm/test/test_notification_action_workflow_action_email_attributes.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.notification_action_workflow_action_email_attributes import NotificationActionWorkflowActionEmailAttributes + +class TestNotificationActionWorkflowActionEmailAttributes(unittest.TestCase): + """NotificationActionWorkflowActionEmailAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NotificationActionWorkflowActionEmailAttributes: + """Test NotificationActionWorkflowActionEmailAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NotificationActionWorkflowActionEmailAttributes` + """ + model = NotificationActionWorkflowActionEmailAttributes() + if include_optional: + return NotificationActionWorkflowActionEmailAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + type = 'StandardEmail' + ) + else: + return NotificationActionWorkflowActionEmailAttributes( + ) + """ + + def testNotificationActionWorkflowActionEmailAttributes(self): + """Test NotificationActionWorkflowActionEmailAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_content.py b/sailpoint/nerm/test/test_page_content.py new file mode 100644 index 000000000..bca7d0189 --- /dev/null +++ b/sailpoint/nerm/test/test_page_content.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_content import PageContent + +class TestPageContent(unittest.TestCase): + """PageContent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageContent: + """Test PageContent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageContent` + """ + model = PageContent() + if include_optional: + return PageContent( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return PageContent( + type = 'MediumHeading', + ) + """ + + def testPageContent(self): + """Test PageContent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_content1.py b/sailpoint/nerm/test/test_page_content1.py new file mode 100644 index 000000000..e4738dfa9 --- /dev/null +++ b/sailpoint/nerm/test/test_page_content1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_content1 import PageContent1 + +class TestPageContent1(unittest.TestCase): + """PageContent1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageContent1: + """Test PageContent1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageContent1` + """ + model = PageContent1() + if include_optional: + return PageContent1( + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.' + ) + else: + return PageContent1( + type = 'MediumHeading', + ) + """ + + def testPageContent1(self): + """Test PageContent1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_content_translation.py b/sailpoint/nerm/test/test_page_content_translation.py new file mode 100644 index 000000000..22396ca09 --- /dev/null +++ b/sailpoint/nerm/test/test_page_content_translation.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_content_translation import PageContentTranslation + +class TestPageContentTranslation(unittest.TestCase): + """PageContentTranslation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageContentTranslation: + """Test PageContentTranslation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageContentTranslation` + """ + model = PageContentTranslation() + if include_optional: + return PageContentTranslation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'page_content_transation_great_es_es', + locale = 'es-ES', + value = 'Es stupendo!', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return PageContentTranslation( + ) + """ + + def testPageContentTranslation(self): + """Test PageContentTranslation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_content_translation1.py b/sailpoint/nerm/test/test_page_content_translation1.py new file mode 100644 index 000000000..f4f4f0fed --- /dev/null +++ b/sailpoint/nerm/test/test_page_content_translation1.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_content_translation1 import PageContentTranslation1 + +class TestPageContentTranslation1(unittest.TestCase): + """PageContentTranslation1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageContentTranslation1: + """Test PageContentTranslation1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageContentTranslation1` + """ + model = PageContentTranslation1() + if include_optional: + return PageContentTranslation1( + uid = 'page_content_translation_spanish_great', + page_content_uid = '', + page_content_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + locale = 'es-ES', + value = 'Es stupendo!' + ) + else: + return PageContentTranslation1( + ) + """ + + def testPageContentTranslation1(self): + """Test PageContentTranslation1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_content_translations_api.py b/sailpoint/nerm/test/test_page_content_translations_api.py new file mode 100644 index 000000000..7c5c15a98 --- /dev/null +++ b/sailpoint/nerm/test/test_page_content_translations_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.page_content_translations_api import PageContentTranslationsApi + + +class TestPageContentTranslationsApi(unittest.TestCase): + """PageContentTranslationsApi unit test stubs""" + + def setUp(self) -> None: + self.api = PageContentTranslationsApi() + + def tearDown(self) -> None: + pass + + def test_create_page_content_translation(self) -> None: + """Test case for create_page_content_translation + + Create page content translation + """ + pass + + def test_delete_page_content_translation_by_id(self) -> None: + """Test case for delete_page_content_translation_by_id + + Delete page content translation + """ + pass + + def test_delete_page_content_translation_by_uid(self) -> None: + """Test case for delete_page_content_translation_by_uid + + Delete page content translation + """ + pass + + def test_get_page_content_translation(self) -> None: + """Test case for get_page_content_translation + + Get page contents translation + """ + pass + + def test_get_page_content_translation_by_id(self) -> None: + """Test case for get_page_content_translation_by_id + + Find page content translation + """ + pass + + def test_get_page_content_translation_by_uid(self) -> None: + """Test case for get_page_content_translation_by_uid + + Find page content translation + """ + pass + + def test_update_page_content_translation_by_id(self) -> None: + """Test case for update_page_content_translation_by_id + + Update page content translation + """ + pass + + def test_update_page_content_translation_by_uid(self) -> None: + """Test case for update_page_content_translation_by_uid + + Update page content translation + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_contents_api.py b/sailpoint/nerm/test/test_page_contents_api.py new file mode 100644 index 000000000..d8b52613a --- /dev/null +++ b/sailpoint/nerm/test/test_page_contents_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.page_contents_api import PageContentsApi + + +class TestPageContentsApi(unittest.TestCase): + """PageContentsApi unit test stubs""" + + def setUp(self) -> None: + self.api = PageContentsApi() + + def tearDown(self) -> None: + pass + + def test_create_page_content(self) -> None: + """Test case for create_page_content + + Create a page content entry + """ + pass + + def test_delete_page_content_by_id(self) -> None: + """Test case for delete_page_content_by_id + + Delete page content record + """ + pass + + def test_delete_page_content_by_uid(self) -> None: + """Test case for delete_page_content_by_uid + + Delete page content record + """ + pass + + def test_get_page_content_by_id(self) -> None: + """Test case for get_page_content_by_id + + Find page content record + """ + pass + + def test_get_page_content_by_uid(self) -> None: + """Test case for get_page_content_by_uid + + Find a page content record + """ + pass + + def test_get_page_contents(self) -> None: + """Test case for get_page_contents + + Get page contents data + """ + pass + + def test_update_page_content_by_id(self) -> None: + """Test case for update_page_content_by_id + + Update page content record + """ + pass + + def test_update_page_content_by_uid(self) -> None: + """Test case for update_page_content_by_uid + + Update page content record + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_element.py b/sailpoint/nerm/test/test_page_element.py new file mode 100644 index 000000000..f0441079e --- /dev/null +++ b/sailpoint/nerm/test/test_page_element.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_element import PageElement + +class TestPageElement(unittest.TestCase): + """PageElement unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageElement: + """Test PageElement + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageElement` + """ + model = PageElement() + if include_optional: + return PageElement( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1 + ) + else: + return PageElement( + element_type = 'PageContent', + ) + """ + + def testPageElement(self): + """Test PageElement""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_element1.py b/sailpoint/nerm/test/test_page_element1.py new file mode 100644 index 000000000..31321e2ce --- /dev/null +++ b/sailpoint/nerm/test/test_page_element1.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.page_element1 import PageElement1 + +class TestPageElement1(unittest.TestCase): + """PageElement1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PageElement1: + """Test PageElement1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PageElement1` + """ + model = PageElement1() + if include_optional: + return PageElement1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'first_text_body', + element_type = 'PageContent', + page_uid = '', + page_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + element_uid = '', + element_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + order = 1 + ) + else: + return PageElement1( + element_type = 'PageContent', + ) + """ + + def testPageElement1(self): + """Test PageElement1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_page_elements_api.py b/sailpoint/nerm/test/test_page_elements_api.py new file mode 100644 index 000000000..00bc3d8e1 --- /dev/null +++ b/sailpoint/nerm/test/test_page_elements_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.page_elements_api import PageElementsApi + + +class TestPageElementsApi(unittest.TestCase): + """PageElementsApi unit test stubs""" + + def setUp(self) -> None: + self.api = PageElementsApi() + + def tearDown(self) -> None: + pass + + def test_create_page_element(self) -> None: + """Test case for create_page_element + + Create a page element entry + """ + pass + + def test_delete_page_element_by_id(self) -> None: + """Test case for delete_page_element_by_id + + Delete page element + """ + pass + + def test_delete_page_element_by_uid(self) -> None: + """Test case for delete_page_element_by_uid + + Delete page element + """ + pass + + def test_get_page_element_by_id(self) -> None: + """Test case for get_page_element_by_id + + Find a page element + """ + pass + + def test_get_page_element_by_uid(self) -> None: + """Test case for get_page_element_by_uid + + Find page element + """ + pass + + def test_get_page_elements(self) -> None: + """Test case for get_page_elements + + Get page element data + """ + pass + + def test_update_page_element_by_id(self) -> None: + """Test case for update_page_element_by_id + + Update page element + """ + pass + + def test_update_page_element_by_uid(self) -> None: + """Test case for update_page_element_by_uid + + Update page element + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_pages.py b/sailpoint/nerm/test/test_pages.py new file mode 100644 index 000000000..0d4de5588 --- /dev/null +++ b/sailpoint/nerm/test/test_pages.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.pages import Pages + +class TestPages(unittest.TestCase): + """Pages unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Pages: + """Test Pages + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Pages` + """ + model = Pages() + if include_optional: + return Pages( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d' + ) + else: + return Pages( + ) + """ + + def testPages(self): + """Test Pages""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_pages_api.py b/sailpoint/nerm/test/test_pages_api.py new file mode 100644 index 000000000..3aba8cbce --- /dev/null +++ b/sailpoint/nerm/test/test_pages_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.pages_api import PagesApi + + +class TestPagesApi(unittest.TestCase): + """PagesApi unit test stubs""" + + def setUp(self) -> None: + self.api = PagesApi() + + def tearDown(self) -> None: + pass + + def test_create_profile_page(self) -> None: + """Test case for create_profile_page + + Create a profile page + """ + pass + + def test_create_workflow_page(self) -> None: + """Test case for create_workflow_page + + Create a workflow page + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_password_reset_action.py b/sailpoint/nerm/test/test_password_reset_action.py new file mode 100644 index 000000000..5bc87bc22 --- /dev/null +++ b/sailpoint/nerm/test/test_password_reset_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.password_reset_action import PasswordResetAction + +class TestPasswordResetAction(unittest.TestCase): + """PasswordResetAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PasswordResetAction: + """Test PasswordResetAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PasswordResetAction` + """ + model = PasswordResetAction() + if include_optional: + return PasswordResetAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to reset their password.', + archived = False + ) + else: + return PasswordResetAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to reset their password.', + ) + """ + + def testPasswordResetAction(self): + """Test PasswordResetAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_patch_language_request.py b/sailpoint/nerm/test/test_patch_language_request.py new file mode 100644 index 000000000..520e86d7e --- /dev/null +++ b/sailpoint/nerm/test/test_patch_language_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.patch_language_request import PatchLanguageRequest + +class TestPatchLanguageRequest(unittest.TestCase): + """PatchLanguageRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PatchLanguageRequest: + """Test PatchLanguageRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PatchLanguageRequest` + """ + model = PatchLanguageRequest() + if include_optional: + return PatchLanguageRequest( + language = sailpoint.nerm.models.language.Language( + default = True, + enabled = True, + locale = 'es', ) + ) + else: + return PatchLanguageRequest( + ) + """ + + def testPatchLanguageRequest(self): + """Test PatchLanguageRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_permission.py b/sailpoint/nerm/test/test_permission.py new file mode 100644 index 000000000..f15f5e5fb --- /dev/null +++ b/sailpoint/nerm/test/test_permission.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.permission import Permission + +class TestPermission(unittest.TestCase): + """Permission unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Permission: + """Test Permission + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Permission` + """ + model = Permission() + if include_optional: + return Permission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419' + ) + else: + return Permission( + ) + """ + + def testPermission(self): + """Test Permission""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_permission1.py b/sailpoint/nerm/test/test_permission1.py new file mode 100644 index 000000000..b6b4e1df4 --- /dev/null +++ b/sailpoint/nerm/test/test_permission1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.permission1 import Permission1 + +class TestPermission1(unittest.TestCase): + """Permission1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Permission1: + """Test Permission1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Permission1` + """ + model = Permission1() + if include_optional: + return Permission1( + role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0 + ) + else: + return Permission1( + ) + """ + + def testPermission1(self): + """Test Permission1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_permissions_api.py b/sailpoint/nerm/test/test_permissions_api.py new file mode 100644 index 000000000..10bcecbb0 --- /dev/null +++ b/sailpoint/nerm/test/test_permissions_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.permissions_api import PermissionsApi + + +class TestPermissionsApi(unittest.TestCase): + """PermissionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = PermissionsApi() + + def tearDown(self) -> None: + pass + + def test_create_permission(self) -> None: + """Test case for create_permission + + Create a permission + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile.py b/sailpoint/nerm/test/test_profile.py new file mode 100644 index 000000000..c3d3438b6 --- /dev/null +++ b/sailpoint/nerm/test/test_profile.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile import Profile + +class TestProfile(unittest.TestCase): + """Profile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Profile: + """Test Profile + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Profile` + """ + model = Profile() + if include_optional: + return Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} + ) + else: + return Profile( + ) + """ + + def testProfile(self): + """Test Profile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile1.py b/sailpoint/nerm/test/test_profile1.py new file mode 100644 index 000000000..03c79b54b --- /dev/null +++ b/sailpoint/nerm/test/test_profile1.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile1 import Profile1 + +class TestProfile1(unittest.TestCase): + """Profile1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Profile1: + """Test Profile1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Profile1` + """ + model = Profile1() + if include_optional: + return Profile1( + name = 'First Last', + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + id_proofing_status = 'pass', + archived = False, + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} + ) + else: + return Profile1( + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + ) + """ + + def testProfile1(self): + """Test Profile1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_date.py b/sailpoint/nerm/test/test_profile_attribute_rule_date.py new file mode 100644 index 000000000..91b210764 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_date.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_date import ProfileAttributeRuleDate + +class TestProfileAttributeRuleDate(unittest.TestCase): + """ProfileAttributeRuleDate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleDate: + """Test ProfileAttributeRuleDate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleDate` + """ + model = ProfileAttributeRuleDate() + if include_optional: + return ProfileAttributeRuleDate( + id = '', + uid = '', + type = 'ProfileAttributeRule', + condition_object_type = 'DateAttribute', + condition_object_id = '', + secondary_attribute_type = 'DateAttribute', + secondary_attribute_id = '', + comparison_operator = '>', + value = 'Today', + secondary_value = 'after', + tertiary_value = '30' + ) + else: + return ProfileAttributeRuleDate( + type = 'ProfileAttributeRule', + condition_object_type = 'DateAttribute', + value = 'Today', + ) + """ + + def testProfileAttributeRuleDate(self): + """Test ProfileAttributeRuleDate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_date1.py b/sailpoint/nerm/test/test_profile_attribute_rule_date1.py new file mode 100644 index 000000000..990068b66 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_date1.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_date1 import ProfileAttributeRuleDate1 + +class TestProfileAttributeRuleDate1(unittest.TestCase): + """ProfileAttributeRuleDate1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleDate1: + """Test ProfileAttributeRuleDate1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleDate1` + """ + model = ProfileAttributeRuleDate1() + if include_optional: + return ProfileAttributeRuleDate1( + type = 'ProfileAttributeRule', + condition_object_type = 'DateAttribute', + condition_object_id = '', + secondary_attribute_type = 'DateAttribute', + secondary_attribute_id = '', + comparison_operator = '>', + value = 'Today', + secondary_value = 'after', + tertiary_value = '30' + ) + else: + return ProfileAttributeRuleDate1( + type = 'ProfileAttributeRule', + condition_object_type = 'DateAttribute', + value = 'Today', + ) + """ + + def testProfileAttributeRuleDate1(self): + """Test ProfileAttributeRuleDate1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_id.py b/sailpoint/nerm/test/test_profile_attribute_rule_id.py new file mode 100644 index 000000000..ccf44a17d --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_id.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_id import ProfileAttributeRuleId + +class TestProfileAttributeRuleId(unittest.TestCase): + """ProfileAttributeRuleId unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleId: + """Test ProfileAttributeRuleId + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleId` + """ + model = ProfileAttributeRuleId() + if include_optional: + return ProfileAttributeRuleId( + id = '', + uid = '', + type = 'ProfileAttributeRule', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + comparison_operator = 'include?', + value = '' + ) + else: + return ProfileAttributeRuleId( + type = 'ProfileAttributeRule', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + comparison_operator = 'include?', + value = '', + ) + """ + + def testProfileAttributeRuleId(self): + """Test ProfileAttributeRuleId""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_id1.py b/sailpoint/nerm/test/test_profile_attribute_rule_id1.py new file mode 100644 index 000000000..8311777cd --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_id1.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_id1 import ProfileAttributeRuleId1 + +class TestProfileAttributeRuleId1(unittest.TestCase): + """ProfileAttributeRuleId1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleId1: + """Test ProfileAttributeRuleId1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleId1` + """ + model = ProfileAttributeRuleId1() + if include_optional: + return ProfileAttributeRuleId1( + type = 'ProfileAttributeRule', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + comparison_operator = 'include?', + value = '' + ) + else: + return ProfileAttributeRuleId1( + type = 'ProfileAttributeRule', + condition_object_type = 'ProfileSelectAttribute', + condition_object_id = '', + comparison_operator = 'include?', + value = '', + ) + """ + + def testProfileAttributeRuleId1(self): + """Test ProfileAttributeRuleId1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_string.py b/sailpoint/nerm/test/test_profile_attribute_rule_string.py new file mode 100644 index 000000000..1bdd7cb01 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_string.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_string import ProfileAttributeRuleString + +class TestProfileAttributeRuleString(unittest.TestCase): + """ProfileAttributeRuleString unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleString: + """Test ProfileAttributeRuleString + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleString` + """ + model = ProfileAttributeRuleString() + if include_optional: + return ProfileAttributeRuleString( + id = '', + uid = '', + type = 'ProfileAttributeRule', + condition_object_type = 'TextFieldAttribute', + condition_object_id = '', + comparison_operator = '==', + value = 'Some value' + ) + else: + return ProfileAttributeRuleString( + type = 'ProfileAttributeRule', + condition_object_type = 'TextFieldAttribute', + condition_object_id = '', + comparison_operator = '==', + value = 'Some value', + ) + """ + + def testProfileAttributeRuleString(self): + """Test ProfileAttributeRuleString""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_attribute_rule_string1.py b/sailpoint/nerm/test/test_profile_attribute_rule_string1.py new file mode 100644 index 000000000..e2cbda030 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_attribute_rule_string1.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_attribute_rule_string1 import ProfileAttributeRuleString1 + +class TestProfileAttributeRuleString1(unittest.TestCase): + """ProfileAttributeRuleString1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAttributeRuleString1: + """Test ProfileAttributeRuleString1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAttributeRuleString1` + """ + model = ProfileAttributeRuleString1() + if include_optional: + return ProfileAttributeRuleString1( + type = 'ProfileAttributeRule', + condition_object_type = 'TextFieldAttribute', + condition_object_id = '', + comparison_operator = '==', + value = 'Some value' + ) + else: + return ProfileAttributeRuleString1( + type = 'ProfileAttributeRule', + condition_object_type = 'TextFieldAttribute', + condition_object_id = '', + comparison_operator = '==', + value = 'Some value', + ) + """ + + def testProfileAttributeRuleString1(self): + """Test ProfileAttributeRuleString1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_check_action.py b/sailpoint/nerm/test/test_profile_check_action.py new file mode 100644 index 000000000..875762ab2 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_check_action.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_check_action import ProfileCheckAction + +class TestProfileCheckAction(unittest.TestCase): + """ProfileCheckAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileCheckAction: + """Test ProfileCheckAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileCheckAction` + """ + model = ProfileCheckAction() + if include_optional: + return ProfileCheckAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Finds a profile based on selected attributes and values found in the session.', + archived = False, + ne_attribute_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + handle_type = 'session', + handle_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return ProfileCheckAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Finds a profile based on selected attributes and values found in the session.', + ) + """ + + def testProfileCheckAction(self): + """Test ProfileCheckAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_page.py b/sailpoint/nerm/test/test_profile_page.py new file mode 100644 index 000000000..9c3d5f08a --- /dev/null +++ b/sailpoint/nerm/test/test_profile_page.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_page import ProfilePage + +class TestProfilePage(unittest.TestCase): + """ProfilePage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfilePage: + """Test ProfilePage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfilePage` + """ + model = ProfilePage() + if include_optional: + return ProfilePage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False + ) + else: + return ProfilePage( + ) + """ + + def testProfilePage(self): + """Test ProfilePage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_select_action.py b/sailpoint/nerm/test/test_profile_select_action.py new file mode 100644 index 000000000..dbb325f13 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_select_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_select_action import ProfileSelectAction + +class TestProfileSelectAction(unittest.TestCase): + """ProfileSelectAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileSelectAction: + """Test ProfileSelectAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileSelectAction` + """ + model = ProfileSelectAction() + if include_optional: + return ProfileSelectAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Select the profiles that you want to run this workflow for.', + archived = False + ) + else: + return ProfileSelectAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Select the profiles that you want to run this workflow for.', + ) + """ + + def testProfileSelectAction(self): + """Test ProfileSelectAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_status_rule.py b/sailpoint/nerm/test/test_profile_status_rule.py new file mode 100644 index 000000000..04bc08d71 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_status_rule.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_status_rule import ProfileStatusRule + +class TestProfileStatusRule(unittest.TestCase): + """ProfileStatusRule unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileStatusRule: + """Test ProfileStatusRule + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileStatusRule` + """ + model = ProfileStatusRule() + if include_optional: + return ProfileStatusRule( + id = '', + uid = '', + type = 'ProfileStatusRule', + comparison_operator = '==', + value = 'Active' + ) + else: + return ProfileStatusRule( + type = 'ProfileStatusRule', + ) + """ + + def testProfileStatusRule(self): + """Test ProfileStatusRule""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_status_rule1.py b/sailpoint/nerm/test/test_profile_status_rule1.py new file mode 100644 index 000000000..11a2d8762 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_status_rule1.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_status_rule1 import ProfileStatusRule1 + +class TestProfileStatusRule1(unittest.TestCase): + """ProfileStatusRule1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileStatusRule1: + """Test ProfileStatusRule1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileStatusRule1` + """ + model = ProfileStatusRule1() + if include_optional: + return ProfileStatusRule1( + type = 'ProfileStatusRule', + comparison_operator = '==', + value = 'Active' + ) + else: + return ProfileStatusRule1( + type = 'ProfileStatusRule', + comparison_operator = '==', + value = 'Active', + ) + """ + + def testProfileStatusRule1(self): + """Test ProfileStatusRule1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type.py b/sailpoint/nerm/test/test_profile_type.py new file mode 100644 index 000000000..7836ced2b --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type import ProfileType + +class TestProfileType(unittest.TestCase): + """ProfileType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileType: + """Test ProfileType + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileType` + """ + model = ProfileType() + if include_optional: + return ProfileType( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'ptUid', + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes = [ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings = [ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ] + ) + else: + return ProfileType( + ) + """ + + def testProfileType(self): + """Test ProfileType""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type1.py b/sailpoint/nerm/test/test_profile_type1.py new file mode 100644 index 000000000..51365b060 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type1.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type1 import ProfileType1 + +class TestProfileType1(unittest.TestCase): + """ProfileType1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileType1: + """Test ProfileType1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileType1` + """ + model = ProfileType1() + if include_optional: + return ProfileType1( + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_dup_attributes_attributes_inner.ProfileType_1_profile_type_dup_attributes_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_namings_attributes_inner.ProfileType_1_profile_type_namings_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ] + ) + else: + return ProfileType1( + ) + """ + + def testProfileType1(self): + """Test ProfileType1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type1_profile_type_dup_attributes_attributes_inner.py b/sailpoint/nerm/test/test_profile_type1_profile_type_dup_attributes_attributes_inner.py new file mode 100644 index 000000000..42659f1ec --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type1_profile_type_dup_attributes_attributes_inner.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type1_profile_type_dup_attributes_attributes_inner import ProfileType1ProfileTypeDupAttributesAttributesInner + +class TestProfileType1ProfileTypeDupAttributesAttributesInner(unittest.TestCase): + """ProfileType1ProfileTypeDupAttributesAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileType1ProfileTypeDupAttributesAttributesInner: + """Test ProfileType1ProfileTypeDupAttributesAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileType1ProfileTypeDupAttributesAttributesInner` + """ + model = ProfileType1ProfileTypeDupAttributesAttributesInner() + if include_optional: + return ProfileType1ProfileTypeDupAttributesAttributesInner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return ProfileType1ProfileTypeDupAttributesAttributesInner( + ) + """ + + def testProfileType1ProfileTypeDupAttributesAttributesInner(self): + """Test ProfileType1ProfileTypeDupAttributesAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type1_profile_type_namings_attributes_inner.py b/sailpoint/nerm/test/test_profile_type1_profile_type_namings_attributes_inner.py new file mode 100644 index 000000000..4b60ee5ba --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type1_profile_type_namings_attributes_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type1_profile_type_namings_attributes_inner import ProfileType1ProfileTypeNamingsAttributesInner + +class TestProfileType1ProfileTypeNamingsAttributesInner(unittest.TestCase): + """ProfileType1ProfileTypeNamingsAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileType1ProfileTypeNamingsAttributesInner: + """Test ProfileType1ProfileTypeNamingsAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileType1ProfileTypeNamingsAttributesInner` + """ + model = ProfileType1ProfileTypeNamingsAttributesInner() + if include_optional: + return ProfileType1ProfileTypeNamingsAttributesInner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0 + ) + else: + return ProfileType1ProfileTypeNamingsAttributesInner( + ) + """ + + def testProfileType1ProfileTypeNamingsAttributesInner(self): + """Test ProfileType1ProfileTypeNamingsAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_attribute.py b/sailpoint/nerm/test/test_profile_type_attribute.py new file mode 100644 index 000000000..0eb4a3ff1 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_attribute.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_attribute import ProfileTypeAttribute + +class TestProfileTypeAttribute(unittest.TestCase): + """ProfileTypeAttribute unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeAttribute: + """Test ProfileTypeAttribute + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeAttribute` + """ + model = ProfileTypeAttribute() + if include_optional: + return ProfileTypeAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + uid = '1246d8b3-ac29-4015-8154-dea4434a73fa', + label = 'object', + synced = '1246d8b3-ac29-4015-8154-dea4434a73fa' + ) + else: + return ProfileTypeAttribute( + label = 'object', + ) + """ + + def testProfileTypeAttribute(self): + """Test ProfileTypeAttribute""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_attributes.py b/sailpoint/nerm/test/test_profile_type_attributes.py new file mode 100644 index 000000000..be0e5e7db --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_attributes.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_attributes import ProfileTypeAttributes + +class TestProfileTypeAttributes(unittest.TestCase): + """ProfileTypeAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeAttributes: + """Test ProfileTypeAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeAttributes` + """ + model = ProfileTypeAttributes() + if include_optional: + return ProfileTypeAttributes( + count = 5, + records = [ + sailpoint.nerm.models.profile_type_attribute.ProfileTypeAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + uid = '1246d8b3-ac29-4015-8154-dea4434a73fa', + label = 'object', + synced = '1246d8b3-ac29-4015-8154-dea4434a73fa', ) + ] + ) + else: + return ProfileTypeAttributes( + ) + """ + + def testProfileTypeAttributes(self): + """Test ProfileTypeAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_profile_type_dup_attributes_inner.py b/sailpoint/nerm/test/test_profile_type_profile_type_dup_attributes_inner.py new file mode 100644 index 000000000..5dd39916a --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_profile_type_dup_attributes_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner import ProfileTypeProfileTypeDupAttributesInner + +class TestProfileTypeProfileTypeDupAttributesInner(unittest.TestCase): + """ProfileTypeProfileTypeDupAttributesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeProfileTypeDupAttributesInner: + """Test ProfileTypeProfileTypeDupAttributesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeProfileTypeDupAttributesInner` + """ + model = ProfileTypeProfileTypeDupAttributesInner() + if include_optional: + return ProfileTypeProfileTypeDupAttributesInner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return ProfileTypeProfileTypeDupAttributesInner( + ) + """ + + def testProfileTypeProfileTypeDupAttributesInner(self): + """Test ProfileTypeProfileTypeDupAttributesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_profile_type_namings_inner.py b/sailpoint/nerm/test/test_profile_type_profile_type_namings_inner.py new file mode 100644 index 000000000..1680e344c --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_profile_type_namings_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_profile_type_namings_inner import ProfileTypeProfileTypeNamingsInner + +class TestProfileTypeProfileTypeNamingsInner(unittest.TestCase): + """ProfileTypeProfileTypeNamingsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeProfileTypeNamingsInner: + """Test ProfileTypeProfileTypeNamingsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeProfileTypeNamingsInner` + """ + model = ProfileTypeProfileTypeNamingsInner() + if include_optional: + return ProfileTypeProfileTypeNamingsInner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0 + ) + else: + return ProfileTypeProfileTypeNamingsInner( + ) + """ + + def testProfileTypeProfileTypeNamingsInner(self): + """Test ProfileTypeProfileTypeNamingsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_roles.py b/sailpoint/nerm/test/test_profile_type_roles.py new file mode 100644 index 000000000..a9d0d6906 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_roles.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_roles import ProfileTypeRoles + +class TestProfileTypeRoles(unittest.TestCase): + """ProfileTypeRoles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeRoles: + """Test ProfileTypeRoles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeRoles` + """ + model = ProfileTypeRoles() + if include_optional: + return ProfileTypeRoles( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862', + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d' + ) + else: + return ProfileTypeRoles( + ) + """ + + def testProfileTypeRoles(self): + """Test ProfileTypeRoles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_roles1.py b/sailpoint/nerm/test/test_profile_type_roles1.py new file mode 100644 index 000000000..798753497 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_roles1.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_roles1 import ProfileTypeRoles1 + +class TestProfileTypeRoles1(unittest.TestCase): + """ProfileTypeRoles1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeRoles1: + """Test ProfileTypeRoles1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeRoles1` + """ + model = ProfileTypeRoles1() + if include_optional: + return ProfileTypeRoles1( + profile_type_id = '2eb5773f-2486-452f-bdb3-796133b30862', + role_id = '2eb5773f-2486-452f-bdb3-796133b30862' + ) + else: + return ProfileTypeRoles1( + ) + """ + + def testProfileTypeRoles1(self): + """Test ProfileTypeRoles1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_roles_api.py b/sailpoint/nerm/test/test_profile_type_roles_api.py new file mode 100644 index 000000000..428e6c2b9 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_roles_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.profile_type_roles_api import ProfileTypeRolesApi + + +class TestProfileTypeRolesApi(unittest.TestCase): + """ProfileTypeRolesApi unit test stubs""" + + def setUp(self) -> None: + self.api = ProfileTypeRolesApi() + + def tearDown(self) -> None: + pass + + def test_create_profile_type_role(self) -> None: + """Test case for create_profile_type_role + + Create a profile type role + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_rule.py b/sailpoint/nerm/test/test_profile_type_rule.py new file mode 100644 index 000000000..5f47b7bab --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_rule.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_rule import ProfileTypeRule + +class TestProfileTypeRule(unittest.TestCase): + """ProfileTypeRule unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeRule: + """Test ProfileTypeRule + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeRule` + """ + model = ProfileTypeRule() + if include_optional: + return ProfileTypeRule( + id = '', + uid = '', + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '' + ) + else: + return ProfileTypeRule( + type = 'ProfileTypeRule', + ) + """ + + def testProfileTypeRule(self): + """Test ProfileTypeRule""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_type_rule1.py b/sailpoint/nerm/test/test_profile_type_rule1.py new file mode 100644 index 000000000..1a8fe0c54 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_type_rule1.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profile_type_rule1 import ProfileTypeRule1 + +class TestProfileTypeRule1(unittest.TestCase): + """ProfileTypeRule1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileTypeRule1: + """Test ProfileTypeRule1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileTypeRule1` + """ + model = ProfileTypeRule1() + if include_optional: + return ProfileTypeRule1( + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '' + ) + else: + return ProfileTypeRule1( + type = 'ProfileTypeRule', + comparison_operator = '==', + value = '', + ) + """ + + def testProfileTypeRule1(self): + """Test ProfileTypeRule1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profile_types_api.py b/sailpoint/nerm/test/test_profile_types_api.py new file mode 100644 index 000000000..23d537f34 --- /dev/null +++ b/sailpoint/nerm/test/test_profile_types_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.profile_types_api import ProfileTypesApi + + +class TestProfileTypesApi(unittest.TestCase): + """ProfileTypesApi unit test stubs""" + + def setUp(self) -> None: + self.api = ProfileTypesApi() + + def tearDown(self) -> None: + pass + + def test_delete_profile_type_by_id(self) -> None: + """Test case for delete_profile_type_by_id + + Delete profile type + """ + pass + + def test_delete_profile_type_by_uid(self) -> None: + """Test case for delete_profile_type_by_uid + + Delete profile type + """ + pass + + def test_get_profile_type_by_id(self) -> None: + """Test case for get_profile_type_by_id + + Find profile type + """ + pass + + def test_get_profile_type_by_uid(self) -> None: + """Test case for get_profile_type_by_uid + + Find profile type + """ + pass + + def test_get_profile_types(self) -> None: + """Test case for get_profile_types + + Get profile types + """ + pass + + def test_patch_profile_type_by_id(self) -> None: + """Test case for patch_profile_type_by_id + + Update a profile type + """ + pass + + def test_patch_profile_type_by_uid(self) -> None: + """Test case for patch_profile_type_by_uid + + Update a profile type + """ + pass + + def test_submit_profile_type(self) -> None: + """Test case for submit_profile_type + + Create a profile type + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profiles.py b/sailpoint/nerm/test/test_profiles.py new file mode 100644 index 000000000..9bd37fcbd --- /dev/null +++ b/sailpoint/nerm/test/test_profiles.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.profiles import Profiles + +class TestProfiles(unittest.TestCase): + """Profiles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Profiles: + """Test Profiles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Profiles` + """ + model = Profiles() + if include_optional: + return Profiles( + profiles = [ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] + ) + else: + return Profiles( + ) + """ + + def testProfiles(self): + """Test Profiles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_profiles_api.py b/sailpoint/nerm/test/test_profiles_api.py new file mode 100644 index 000000000..208f289b0 --- /dev/null +++ b/sailpoint/nerm/test/test_profiles_api.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.profiles_api import ProfilesApi + + +class TestProfilesApi(unittest.TestCase): + """ProfilesApi unit test stubs""" + + def setUp(self) -> None: + self.api = ProfilesApi() + + def tearDown(self) -> None: + pass + + def test_create_profiles(self) -> None: + """Test case for create_profiles + + Create multiple profiles + """ + pass + + def test_delete_profile_by_id(self) -> None: + """Test case for delete_profile_by_id + + Delete a single profile + """ + pass + + def test_delete_profiles(self) -> None: + """Test case for delete_profiles + + Delete multiple profiles + """ + pass + + def test_get_profile_avatar(self) -> None: + """Test case for get_profile_avatar + + Retrieves profile avatar URL + """ + pass + + def test_get_profile_by_id(self) -> None: + """Test case for get_profile_by_id + + Find profile by id + """ + pass + + def test_get_profile_upload(self) -> None: + """Test case for get_profile_upload + + Retrieves profile attribute attachment URL + """ + pass + + def test_get_profiles(self) -> None: + """Test case for get_profiles + + Get profiles + """ + pass + + def test_patch_profile_by_id(self) -> None: + """Test case for patch_profile_by_id + + Update a profile by id + """ + pass + + def test_patch_profiles(self) -> None: + """Test case for patch_profiles + + Update multiple profiles + """ + pass + + def test_submit_profile(self) -> None: + """Test case for submit_profile + + Create a profile + """ + pass + + def test_submit_profile_avatar(self) -> None: + """Test case for submit_profile_avatar + + Uploads new profile avatar + """ + pass + + def test_submit_profile_upload(self) -> None: + """Test case for submit_profile_upload + + Uploads profile attachment attribute + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_request_action.py b/sailpoint/nerm/test/test_request_action.py new file mode 100644 index 000000000..86281bd0e --- /dev/null +++ b/sailpoint/nerm/test/test_request_action.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.request_action import RequestAction + +class TestRequestAction(unittest.TestCase): + """RequestAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RequestAction: + """Test RequestAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RequestAction` + """ + model = RequestAction() + if include_optional: + return RequestAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Provides the requester a page with forms.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False + ) + else: + return RequestAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Provides the requester a page with forms.', + ) + """ + + def testRequestAction(self): + """Test RequestAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_rest_api_action.py b/sailpoint/nerm/test/test_rest_api_action.py new file mode 100644 index 000000000..715616192 --- /dev/null +++ b/sailpoint/nerm/test/test_rest_api_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.rest_api_action import RestApiAction + +class TestRestApiAction(unittest.TestCase): + """RestApiAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RestApiAction: + """Test RestApiAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RestApiAction` + """ + model = RestApiAction() + if include_optional: + return RestApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a Restful API.', + archived = False + ) + else: + return RestApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a Restful API.', + ) + """ + + def testRestApiAction(self): + """Test RestApiAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_review_action.py b/sailpoint/nerm/test/test_review_action.py new file mode 100644 index 000000000..12035287a --- /dev/null +++ b/sailpoint/nerm/test/test_review_action.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.review_action import ReviewAction + +class TestReviewAction(unittest.TestCase): + """ReviewAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReviewAction: + """Test ReviewAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReviewAction` + """ + model = ReviewAction() + if include_optional: + return ReviewAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows the requester to review.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + archived = False, + requires_comment = False + ) + else: + return ReviewAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Allows the requester to review.', + ) + """ + + def testReviewAction(self): + """Test ReviewAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_level.py b/sailpoint/nerm/test/test_risk_level.py new file mode 100644 index 000000000..655a39519 --- /dev/null +++ b/sailpoint/nerm/test/test_risk_level.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.risk_level import RiskLevel + +class TestRiskLevel(unittest.TestCase): + """RiskLevel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RiskLevel: + """Test RiskLevel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RiskLevel` + """ + model = RiskLevel() + if include_optional: + return RiskLevel( + id = '', + uid = '', + label = '', + points = 1.337, + order = 0 + ) + else: + return RiskLevel( + ) + """ + + def testRiskLevel(self): + """Test RiskLevel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_levels_api.py b/sailpoint/nerm/test/test_risk_levels_api.py new file mode 100644 index 000000000..82ff13ec0 --- /dev/null +++ b/sailpoint/nerm/test/test_risk_levels_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.risk_levels_api import RiskLevelsApi + + +class TestRiskLevelsApi(unittest.TestCase): + """RiskLevelsApi unit test stubs""" + + def setUp(self) -> None: + self.api = RiskLevelsApi() + + def tearDown(self) -> None: + pass + + def test_get_risk_level(self) -> None: + """Test case for get_risk_level + + Find risk level data + """ + pass + + def test_get_risk_levels(self) -> None: + """Test case for get_risk_levels + + Get risk level data + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_rule.py b/sailpoint/nerm/test/test_risk_rule.py new file mode 100644 index 000000000..8fe5a0f32 --- /dev/null +++ b/sailpoint/nerm/test/test_risk_rule.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.risk_rule import RiskRule + +class TestRiskRule(unittest.TestCase): + """RiskRule unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RiskRule: + """Test RiskRule + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RiskRule` + """ + model = RiskRule() + if include_optional: + return RiskRule( + id = '', + uid = '', + type = 'RiskRule', + comparison_operator = '==', + value = '', + secondary_value = 'OverallRisk' + ) + else: + return RiskRule( + type = 'RiskRule', + value = '', + secondary_value = 'OverallRisk', + ) + """ + + def testRiskRule(self): + """Test RiskRule""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_rule1.py b/sailpoint/nerm/test/test_risk_rule1.py new file mode 100644 index 000000000..6ba018b44 --- /dev/null +++ b/sailpoint/nerm/test/test_risk_rule1.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.risk_rule1 import RiskRule1 + +class TestRiskRule1(unittest.TestCase): + """RiskRule1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RiskRule1: + """Test RiskRule1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RiskRule1` + """ + model = RiskRule1() + if include_optional: + return RiskRule1( + type = 'RiskRule', + comparison_operator = '==', + value = '', + secondary_value = 'OverallRisk' + ) + else: + return RiskRule1( + type = 'RiskRule', + value = '', + secondary_value = 'OverallRisk', + ) + """ + + def testRiskRule1(self): + """Test RiskRule1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_score.py b/sailpoint/nerm/test/test_risk_score.py new file mode 100644 index 000000000..2ed040523 --- /dev/null +++ b/sailpoint/nerm/test/test_risk_score.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.risk_score import RiskScore + +class TestRiskScore(unittest.TestCase): + """RiskScore unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RiskScore: + """Test RiskScore + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RiskScore` + """ + model = RiskScore() + if include_optional: + return RiskScore( + id = '', + uid = '', + object_id = '', + object_type = 'Profile', + overall_score = 1.337, + overall_risk_level_id = '', + impact_score = 1.337, + impact_risk_level_id = '', + probability_score = 1.337, + probability_risk_level_id = '' + ) + else: + return RiskScore( + ) + """ + + def testRiskScore(self): + """Test RiskScore""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_risk_scores_api.py b/sailpoint/nerm/test/test_risk_scores_api.py new file mode 100644 index 000000000..6e86baa0f --- /dev/null +++ b/sailpoint/nerm/test/test_risk_scores_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.risk_scores_api import RiskScoresApi + + +class TestRiskScoresApi(unittest.TestCase): + """RiskScoresApi unit test stubs""" + + def setUp(self) -> None: + self.api = RiskScoresApi() + + def tearDown(self) -> None: + pass + + def test_get_risk_score(self) -> None: + """Test case for get_risk_score + + Find risk score data + """ + pass + + def test_get_risk_scores(self) -> None: + """Test case for get_risk_scores + + Get risk score data + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role.py b/sailpoint/nerm/test/test_role.py new file mode 100644 index 000000000..0588c5b9a --- /dev/null +++ b/sailpoint/nerm/test/test_role.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.role import Role + +class TestRole(unittest.TestCase): + """Role unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Role: + """Test Role + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Role` + """ + model = Role() + if include_optional: + return Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ] + ) + else: + return Role( + ) + """ + + def testRole(self): + """Test Role""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role1.py b/sailpoint/nerm/test/test_role1.py new file mode 100644 index 000000000..cdc215eb2 --- /dev/null +++ b/sailpoint/nerm/test/test_role1.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.role1 import Role1 + +class TestRole1(unittest.TestCase): + """Role1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Role1: + """Test Role1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Role1` + """ + model = Role1() + if include_optional: + return Role1( + uid = 'sponsors_role', + type = 'NeprofileRole', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ] + ) + else: + return Role1( + ) + """ + + def testRole1(self): + """Test Role1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role_profile.py b/sailpoint/nerm/test/test_role_profile.py new file mode 100644 index 000000000..7a6ef6715 --- /dev/null +++ b/sailpoint/nerm/test/test_role_profile.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.role_profile import RoleProfile + +class TestRoleProfile(unittest.TestCase): + """RoleProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoleProfile: + """Test RoleProfile + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoleProfile` + """ + model = RoleProfile() + if include_optional: + return RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '' + ) + else: + return RoleProfile( + ) + """ + + def testRoleProfile(self): + """Test RoleProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role_profile1.py b/sailpoint/nerm/test/test_role_profile1.py new file mode 100644 index 000000000..3737cd01d --- /dev/null +++ b/sailpoint/nerm/test/test_role_profile1.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.role_profile1 import RoleProfile1 + +class TestRoleProfile1(unittest.TestCase): + """RoleProfile1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoleProfile1: + """Test RoleProfile1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoleProfile1` + """ + model = RoleProfile1() + if include_optional: + return RoleProfile1( + role_id = '', + profile_id = '' + ) + else: + return RoleProfile1( + ) + """ + + def testRoleProfile1(self): + """Test RoleProfile1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role_profiles.py b/sailpoint/nerm/test/test_role_profiles.py new file mode 100644 index 000000000..bf8a02b44 --- /dev/null +++ b/sailpoint/nerm/test/test_role_profiles.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.role_profiles import RoleProfiles + +class TestRoleProfiles(unittest.TestCase): + """RoleProfiles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoleProfiles: + """Test RoleProfiles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoleProfiles` + """ + model = RoleProfiles() + if include_optional: + return RoleProfiles( + role_profiles = [ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ] + ) + else: + return RoleProfiles( + ) + """ + + def testRoleProfiles(self): + """Test RoleProfiles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_role_profiles_api.py b/sailpoint/nerm/test/test_role_profiles_api.py new file mode 100644 index 000000000..0f7bf0431 --- /dev/null +++ b/sailpoint/nerm/test/test_role_profiles_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.role_profiles_api import RoleProfilesApi + + +class TestRoleProfilesApi(unittest.TestCase): + """RoleProfilesApi unit test stubs""" + + def setUp(self) -> None: + self.api = RoleProfilesApi() + + def tearDown(self) -> None: + pass + + def test_delete_role_profile(self) -> None: + """Test case for delete_role_profile + + Delete a role profile assignment + """ + pass + + def test_get_role_profile(self) -> None: + """Test case for get_role_profile + + Find role-profile contributor relationship + """ + pass + + def test_get_role_profiles(self) -> None: + """Test case for get_role_profiles + + Get role-profile contributor relationships + """ + pass + + def test_patch_role_profile(self) -> None: + """Test case for patch_role_profile + + Update a role-profile contributor relationship + """ + pass + + def test_patch_role_profiles(self) -> None: + """Test case for patch_role_profiles + + Update multiple role-profile contributor relationships + """ + pass + + def test_submit_role_profile(self) -> None: + """Test case for submit_role_profile + + Create a role-profile contributor relationship + """ + pass + + def test_submit_role_profiles(self) -> None: + """Test case for submit_role_profiles + + Create multiple role-profile contributor relationships + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_roles.py b/sailpoint/nerm/test/test_roles.py new file mode 100644 index 000000000..5aff192a1 --- /dev/null +++ b/sailpoint/nerm/test/test_roles.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.roles import Roles + +class TestRoles(unittest.TestCase): + """Roles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Roles: + """Test Roles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Roles` + """ + model = Roles() + if include_optional: + return Roles( + roles = [ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ] + ) + else: + return Roles( + ) + """ + + def testRoles(self): + """Test Roles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_roles_api.py b/sailpoint/nerm/test/test_roles_api.py new file mode 100644 index 000000000..c596b2342 --- /dev/null +++ b/sailpoint/nerm/test/test_roles_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.roles_api import RolesApi + + +class TestRolesApi(unittest.TestCase): + """RolesApi unit test stubs""" + + def setUp(self) -> None: + self.api = RolesApi() + + def tearDown(self) -> None: + pass + + def test_get_role(self) -> None: + """Test case for get_role + + Find role by id + """ + pass + + def test_get_roles(self) -> None: + """Test case for get_roles + + Get roles + """ + pass + + def test_patch_role(self) -> None: + """Test case for patch_role + + Update an existing role + """ + pass + + def test_patch_roles(self) -> None: + """Test case for patch_roles + + Update multiple roles + """ + pass + + def test_submit_role(self) -> None: + """Test case for submit_role + + Create a new role + """ + pass + + def test_submit_roles(self) -> None: + """Test case for submit_roles + + Create multiple new roles + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_run_workflow_action.py b/sailpoint/nerm/test/test_run_workflow_action.py new file mode 100644 index 000000000..7a1418d0b --- /dev/null +++ b/sailpoint/nerm/test/test_run_workflow_action.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.run_workflow_action import RunWorkflowAction + +class TestRunWorkflowAction(unittest.TestCase): + """RunWorkflowAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RunWorkflowAction: + """Test RunWorkflowAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RunWorkflowAction` + """ + model = RunWorkflowAction() + if include_optional: + return RunWorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Runs another workflow with the ability to pass data in between.', + archived = False, + configuration_attributes = sailpoint.nerm.models.run_workflow_action_configuration_attributes.RunWorkflowAction_configuration_attributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + profile_to_send = 'current', + return_profile = False, + run_workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ) + else: + return RunWorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Runs another workflow with the ability to pass data in between.', + ) + """ + + def testRunWorkflowAction(self): + """Test RunWorkflowAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_run_workflow_action_configuration_attributes.py b/sailpoint/nerm/test/test_run_workflow_action_configuration_attributes.py new file mode 100644 index 000000000..b1e2842f6 --- /dev/null +++ b/sailpoint/nerm/test/test_run_workflow_action_configuration_attributes.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.run_workflow_action_configuration_attributes import RunWorkflowActionConfigurationAttributes + +class TestRunWorkflowActionConfigurationAttributes(unittest.TestCase): + """RunWorkflowActionConfigurationAttributes unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RunWorkflowActionConfigurationAttributes: + """Test RunWorkflowActionConfigurationAttributes + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RunWorkflowActionConfigurationAttributes` + """ + model = RunWorkflowActionConfigurationAttributes() + if include_optional: + return RunWorkflowActionConfigurationAttributes( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + wait_for_completion = False, + profile_to_send = 'current', + return_profile = False, + run_workflow_action_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8' + ) + else: + return RunWorkflowActionConfigurationAttributes( + ) + """ + + def testRunWorkflowActionConfigurationAttributes(self): + """Test RunWorkflowActionConfigurationAttributes""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_search200_response.py b/sailpoint/nerm/test/test_search200_response.py new file mode 100644 index 000000000..8a1706f74 --- /dev/null +++ b/sailpoint/nerm/test/test_search200_response.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.search200_response import Search200Response + +class TestSearch200Response(unittest.TestCase): + """Search200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Search200Response: + """Test Search200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Search200Response` + """ + model = Search200Response() + if include_optional: + return Search200Response( + audit_events = [ + sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ) + ] + ) + else: + return Search200Response( + ) + """ + + def testSearch200Response(self): + """Test Search200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_search_advanced_search200_response.py b/sailpoint/nerm/test/test_search_advanced_search200_response.py new file mode 100644 index 000000000..6420220bc --- /dev/null +++ b/sailpoint/nerm/test/test_search_advanced_search200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.search_advanced_search200_response import SearchAdvancedSearch200Response + +class TestSearchAdvancedSearch200Response(unittest.TestCase): + """SearchAdvancedSearch200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchAdvancedSearch200Response: + """Test SearchAdvancedSearch200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchAdvancedSearch200Response` + """ + model = SearchAdvancedSearch200Response() + if include_optional: + return SearchAdvancedSearch200Response( + profiles = [ + sailpoint.nerm.models.profile.Profile( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profileUid', + name = 'Profile Name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Active', + id_proofing_status = 'pending', + created_at = '2023-11-21T14:23:54.256-05:00', + updated_at = '2023-11-21T14:23:54.256-05:00', + attributes = {Non-Employee Profile ID=The Non-Employee Profile ID (will be returned for assignments, to be used during correlation configuration), text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ] + ) + else: + return SearchAdvancedSearch200Response( + ) + """ + + def testSearchAdvancedSearch200Response(self): + """Test SearchAdvancedSearch200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_search_request.py b/sailpoint/nerm/test/test_search_request.py new file mode 100644 index 000000000..c242afe93 --- /dev/null +++ b/sailpoint/nerm/test/test_search_request.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.search_request import SearchRequest + +class TestSearchRequest(unittest.TestCase): + """SearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchRequest: + """Test SearchRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchRequest` + """ + model = SearchRequest() + if include_optional: + return SearchRequest( + audit_events = sailpoint.nerm.models.search_request_audit_events.search_request_audit_events( + offset = 100, + sort_by = 'created_at', + limit = 10, + order = 'asc', + filters = sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ), ) + ) + else: + return SearchRequest( + ) + """ + + def testSearchRequest(self): + """Test SearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_search_request_audit_events.py b/sailpoint/nerm/test/test_search_request_audit_events.py new file mode 100644 index 000000000..2f0d0ae1e --- /dev/null +++ b/sailpoint/nerm/test/test_search_request_audit_events.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.search_request_audit_events import SearchRequestAuditEvents + +class TestSearchRequestAuditEvents(unittest.TestCase): + """SearchRequestAuditEvents unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchRequestAuditEvents: + """Test SearchRequestAuditEvents + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchRequestAuditEvents` + """ + model = SearchRequestAuditEvents() + if include_optional: + return SearchRequestAuditEvents( + offset = 100, + sort_by = 'created_at', + limit = 10, + order = 'asc', + filters = sailpoint.nerm.models.audit_event.AuditEvent( + created_at = sailpoint.nerm.models.audit_event_created_at.AuditEvent_created_at( + gt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + lt = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + eq = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ), + subject_type = 'Profile', + type = 'AuditableProfileCreate', + subject_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + data = sailpoint.nerm.models.audit_event_data.AuditEvent_data( + profile_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', + workflow_name = 'My Workflow', + workflow_uid = 'my_workflow', + profile_type_id = '7d8c53ca-e99d-485c-9524-ea3849e82c79', ), ) + ) + else: + return SearchRequestAuditEvents( + ) + """ + + def testSearchRequestAuditEvents(self): + """Test SearchRequestAuditEvents""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_set_attributes_action.py b/sailpoint/nerm/test/test_set_attributes_action.py new file mode 100644 index 000000000..9f7a1a24d --- /dev/null +++ b/sailpoint/nerm/test/test_set_attributes_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.set_attributes_action import SetAttributesAction + +class TestSetAttributesAction(unittest.TestCase): + """SetAttributesAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetAttributesAction: + """Test SetAttributesAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SetAttributesAction` + """ + model = SetAttributesAction() + if include_optional: + return SetAttributesAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Set attribute(s) to a specific value.', + archived = False + ) + else: + return SetAttributesAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Set attribute(s) to a specific value.', + ) + """ + + def testSetAttributesAction(self): + """Test SetAttributesAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_set_security_question_action.py b/sailpoint/nerm/test/test_set_security_question_action.py new file mode 100644 index 000000000..72b302f26 --- /dev/null +++ b/sailpoint/nerm/test/test_set_security_question_action.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.set_security_question_action import SetSecurityQuestionAction + +class TestSetSecurityQuestionAction(unittest.TestCase): + """SetSecurityQuestionAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SetSecurityQuestionAction: + """Test SetSecurityQuestionAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SetSecurityQuestionAction` + """ + model = SetSecurityQuestionAction() + if include_optional: + return SetSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to provide some personal security questions and answers.', + archived = False, + number_of_questions = 1 + ) + else: + return SetSecurityQuestionAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user to provide some personal security questions and answers.', + number_of_questions = 1, + ) + """ + + def testSetSecurityQuestionAction(self): + """Test SetSecurityQuestionAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_soap_api_action.py b/sailpoint/nerm/test/test_soap_api_action.py new file mode 100644 index 000000000..470c45580 --- /dev/null +++ b/sailpoint/nerm/test/test_soap_api_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.soap_api_action import SoapApiAction + +class TestSoapApiAction(unittest.TestCase): + """SoapApiAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SoapApiAction: + """Test SoapApiAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SoapApiAction` + """ + model = SoapApiAction() + if include_optional: + return SoapApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a SOAP API.', + archived = False + ) + else: + return SoapApiAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Makes a request to a SOAP API.', + ) + """ + + def testSoapApiAction(self): + """Test SoapApiAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_status_change_action.py b/sailpoint/nerm/test/test_status_change_action.py new file mode 100644 index 000000000..dc8f174eb --- /dev/null +++ b/sailpoint/nerm/test/test_status_change_action.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.status_change_action import StatusChangeAction + +class TestStatusChangeAction(unittest.TestCase): + """StatusChangeAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StatusChangeAction: + """Test StatusChangeAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StatusChangeAction` + """ + model = StatusChangeAction() + if include_optional: + return StatusChangeAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Changes the status of a non-employee.', + new_status = 'Active', + archived = False + ) + else: + return StatusChangeAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Changes the status of a non-employee.', + ) + """ + + def testStatusChangeAction(self): + """Test StatusChangeAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_advanced_search200_response.py b/sailpoint/nerm/test/test_submit_advanced_search200_response.py new file mode 100644 index 000000000..4ce7ff767 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_advanced_search200_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_advanced_search200_response import SubmitAdvancedSearch200Response + +class TestSubmitAdvancedSearch200Response(unittest.TestCase): + """SubmitAdvancedSearch200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAdvancedSearch200Response: + """Test SubmitAdvancedSearch200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAdvancedSearch200Response` + """ + model = SubmitAdvancedSearch200Response() + if include_optional: + return SubmitAdvancedSearch200Response( + advanced_search = sailpoint.nerm.models.advanced_search.AdvancedSearch( + id = '', + uid = '', + label = '', + condition_rules_attributes = [ + null + ], ) + ) + else: + return SubmitAdvancedSearch200Response( + ) + """ + + def testSubmitAdvancedSearch200Response(self): + """Test SubmitAdvancedSearch200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_advanced_search_request.py b/sailpoint/nerm/test/test_submit_advanced_search_request.py new file mode 100644 index 000000000..b5086853c --- /dev/null +++ b/sailpoint/nerm/test/test_submit_advanced_search_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_advanced_search_request import SubmitAdvancedSearchRequest + +class TestSubmitAdvancedSearchRequest(unittest.TestCase): + """SubmitAdvancedSearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAdvancedSearchRequest: + """Test SubmitAdvancedSearchRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAdvancedSearchRequest` + """ + model = SubmitAdvancedSearchRequest() + if include_optional: + return SubmitAdvancedSearchRequest( + advanced_search = sailpoint.nerm.models.advanced_search_1.AdvancedSearch_1( + label = '', + condition_rules_attributes = [ + null + ], ) + ) + else: + return SubmitAdvancedSearchRequest( + ) + """ + + def testSubmitAdvancedSearchRequest(self): + """Test SubmitAdvancedSearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_attribute_option200_response.py b/sailpoint/nerm/test/test_submit_attribute_option200_response.py new file mode 100644 index 000000000..e4704f933 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_attribute_option200_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_attribute_option200_response import SubmitAttributeOption200Response + +class TestSubmitAttributeOption200Response(unittest.TestCase): + """SubmitAttributeOption200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAttributeOption200Response: + """Test SubmitAttributeOption200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAttributeOption200Response` + """ + model = SubmitAttributeOption200Response() + if include_optional: + return SubmitAttributeOption200Response( + ne_attribute_option = sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ) + else: + return SubmitAttributeOption200Response( + ) + """ + + def testSubmitAttributeOption200Response(self): + """Test SubmitAttributeOption200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_attribute_option_request.py b/sailpoint/nerm/test/test_submit_attribute_option_request.py new file mode 100644 index 000000000..cdffa232d --- /dev/null +++ b/sailpoint/nerm/test/test_submit_attribute_option_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_attribute_option_request import SubmitAttributeOptionRequest + +class TestSubmitAttributeOptionRequest(unittest.TestCase): + """SubmitAttributeOptionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAttributeOptionRequest: + """Test SubmitAttributeOptionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAttributeOptionRequest` + """ + model = SubmitAttributeOptionRequest() + if include_optional: + return SubmitAttributeOptionRequest( + ne_attribute_option = sailpoint.nerm.models.attribute_option_1.AttributeOption_1( + ne_attribute_id = '', + option = '', ) + ) + else: + return SubmitAttributeOptionRequest( + ) + """ + + def testSubmitAttributeOptionRequest(self): + """Test SubmitAttributeOptionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_attribute_options200_response.py b/sailpoint/nerm/test/test_submit_attribute_options200_response.py new file mode 100644 index 000000000..591b181e8 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_attribute_options200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_attribute_options200_response import SubmitAttributeOptions200Response + +class TestSubmitAttributeOptions200Response(unittest.TestCase): + """SubmitAttributeOptions200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAttributeOptions200Response: + """Test SubmitAttributeOptions200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAttributeOptions200Response` + """ + model = SubmitAttributeOptions200Response() + if include_optional: + return SubmitAttributeOptions200Response( + ne_attribute_options = [ + sailpoint.nerm.models.attribute_option.AttributeOption( + id = '', + uid = '', + ne_attribute_id = '', + option = '', ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return SubmitAttributeOptions200Response( + ) + """ + + def testSubmitAttributeOptions200Response(self): + """Test SubmitAttributeOptions200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_attribute_options_request.py b/sailpoint/nerm/test/test_submit_attribute_options_request.py new file mode 100644 index 000000000..49880e0fd --- /dev/null +++ b/sailpoint/nerm/test/test_submit_attribute_options_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_attribute_options_request import SubmitAttributeOptionsRequest + +class TestSubmitAttributeOptionsRequest(unittest.TestCase): + """SubmitAttributeOptionsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitAttributeOptionsRequest: + """Test SubmitAttributeOptionsRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitAttributeOptionsRequest` + """ + model = SubmitAttributeOptionsRequest() + if include_optional: + return SubmitAttributeOptionsRequest( + ne_attribute_options = [ + sailpoint.nerm.models.attribute_option_1.AttributeOption_1( + ne_attribute_id = '', + option = '', ) + ] + ) + else: + return SubmitAttributeOptionsRequest( + ) + """ + + def testSubmitAttributeOptionsRequest(self): + """Test SubmitAttributeOptionsRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_profile_request.py b/sailpoint/nerm/test/test_submit_profile_request.py new file mode 100644 index 000000000..9b8640ea2 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_profile_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_profile_request import SubmitProfileRequest + +class TestSubmitProfileRequest(unittest.TestCase): + """SubmitProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitProfileRequest: + """Test SubmitProfileRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitProfileRequest` + """ + model = SubmitProfileRequest() + if include_optional: + return SubmitProfileRequest( + profile = sailpoint.nerm.models.profile_1.Profile_1( + name = 'First Last', + profile_type_id = '79ed1cb6-9977-4965-9bfe-f2bcc2424444', + status = 'Active', + id_proofing_status = 'pass', + archived = False, + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ) + else: + return SubmitProfileRequest( + ) + """ + + def testSubmitProfileRequest(self): + """Test SubmitProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_profile_type200_response.py b/sailpoint/nerm/test/test_submit_profile_type200_response.py new file mode 100644 index 000000000..8a177ebb1 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_profile_type200_response.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_profile_type200_response import SubmitProfileType200Response + +class TestSubmitProfileType200Response(unittest.TestCase): + """SubmitProfileType200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitProfileType200Response: + """Test SubmitProfileType200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitProfileType200Response` + """ + model = SubmitProfileType200Response() + if include_optional: + return SubmitProfileType200Response( + profile_type = sailpoint.nerm.models.profile_type.ProfileType( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'ptUid', + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes = [ + sailpoint.nerm.models.profile_type_profile_type_dup_attributes_inner.ProfileType_profile_type_dup_attributes_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'attribute-uid', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings = [ + sailpoint.nerm.models.profile_type_profile_type_namings_inner.ProfileType_profile_type_namings_inner( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'profile-type-name', + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) + ) + else: + return SubmitProfileType200Response( + ) + """ + + def testSubmitProfileType200Response(self): + """Test SubmitProfileType200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_profile_type_request.py b/sailpoint/nerm/test/test_submit_profile_type_request.py new file mode 100644 index 000000000..3df50ebd4 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_profile_type_request.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_profile_type_request import SubmitProfileTypeRequest + +class TestSubmitProfileTypeRequest(unittest.TestCase): + """SubmitProfileTypeRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitProfileTypeRequest: + """Test SubmitProfileTypeRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitProfileTypeRequest` + """ + model = SubmitProfileTypeRequest() + if include_optional: + return SubmitProfileTypeRequest( + profile_type = sailpoint.nerm.models.profile_type_1.ProfileType_1( + name = 'Worker', + category = 'employee', + bypass_dup_protection = False, + archived = False, + permitted_role_ids = [33f072dd-13b4-41e1-8ea0-16f2a59b57c8], + isc_synced = False, + profile_type_dup_attributes_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_dup_attributes_attributes_inner.ProfileType_1_profile_type_dup_attributes_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', ) + ], + profile_type_namings_attributes = [ + sailpoint.nerm.models.profile_type_1_profile_type_namings_attributes_inner.ProfileType_1_profile_type_namings_attributes_inner( + ne_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + order = 0, ) + ], ) + ) + else: + return SubmitProfileTypeRequest( + ) + """ + + def testSubmitProfileTypeRequest(self): + """Test SubmitProfileTypeRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_profile_upload_request.py b/sailpoint/nerm/test/test_submit_profile_upload_request.py new file mode 100644 index 000000000..4f08a1df2 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_profile_upload_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_profile_upload_request import SubmitProfileUploadRequest + +class TestSubmitProfileUploadRequest(unittest.TestCase): + """SubmitProfileUploadRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitProfileUploadRequest: + """Test SubmitProfileUploadRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitProfileUploadRequest` + """ + model = SubmitProfileUploadRequest() + if include_optional: + return SubmitProfileUploadRequest( + file = bytes(b'blah') + ) + else: + return SubmitProfileUploadRequest( + ) + """ + + def testSubmitProfileUploadRequest(self): + """Test SubmitProfileUploadRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role200_response.py b/sailpoint/nerm/test/test_submit_role200_response.py new file mode 100644 index 000000000..056186f12 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role200_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role200_response import SubmitRole200Response + +class TestSubmitRole200Response(unittest.TestCase): + """SubmitRole200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRole200Response: + """Test SubmitRole200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRole200Response` + """ + model = SubmitRole200Response() + if include_optional: + return SubmitRole200Response( + role = sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ) + else: + return SubmitRole200Response( + ) + """ + + def testSubmitRole200Response(self): + """Test SubmitRole200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role_profile200_response.py b/sailpoint/nerm/test/test_submit_role_profile200_response.py new file mode 100644 index 000000000..5f77927ce --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role_profile200_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role_profile200_response import SubmitRoleProfile200Response + +class TestSubmitRoleProfile200Response(unittest.TestCase): + """SubmitRoleProfile200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoleProfile200Response: + """Test SubmitRoleProfile200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoleProfile200Response` + """ + model = SubmitRoleProfile200Response() + if include_optional: + return SubmitRoleProfile200Response( + role_profile = sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ) + else: + return SubmitRoleProfile200Response( + ) + """ + + def testSubmitRoleProfile200Response(self): + """Test SubmitRoleProfile200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role_profile_request.py b/sailpoint/nerm/test/test_submit_role_profile_request.py new file mode 100644 index 000000000..29c3ce569 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role_profile_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role_profile_request import SubmitRoleProfileRequest + +class TestSubmitRoleProfileRequest(unittest.TestCase): + """SubmitRoleProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoleProfileRequest: + """Test SubmitRoleProfileRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoleProfileRequest` + """ + model = SubmitRoleProfileRequest() + if include_optional: + return SubmitRoleProfileRequest( + role_profile = sailpoint.nerm.models.role_profile_1.RoleProfile_1( + role_id = '', + profile_id = '', ) + ) + else: + return SubmitRoleProfileRequest( + ) + """ + + def testSubmitRoleProfileRequest(self): + """Test SubmitRoleProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role_profiles200_response.py b/sailpoint/nerm/test/test_submit_role_profiles200_response.py new file mode 100644 index 000000000..d03898b4c --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role_profiles200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role_profiles200_response import SubmitRoleProfiles200Response + +class TestSubmitRoleProfiles200Response(unittest.TestCase): + """SubmitRoleProfiles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoleProfiles200Response: + """Test SubmitRoleProfiles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoleProfiles200Response` + """ + model = SubmitRoleProfiles200Response() + if include_optional: + return SubmitRoleProfiles200Response( + role_profiles = [ + sailpoint.nerm.models.role_profile.RoleProfile( + id = '', + uid = '', + role_id = '', + profile_id = '', ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return SubmitRoleProfiles200Response( + ) + """ + + def testSubmitRoleProfiles200Response(self): + """Test SubmitRoleProfiles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role_profiles_request.py b/sailpoint/nerm/test/test_submit_role_profiles_request.py new file mode 100644 index 000000000..fd396be54 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role_profiles_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role_profiles_request import SubmitRoleProfilesRequest + +class TestSubmitRoleProfilesRequest(unittest.TestCase): + """SubmitRoleProfilesRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoleProfilesRequest: + """Test SubmitRoleProfilesRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoleProfilesRequest` + """ + model = SubmitRoleProfilesRequest() + if include_optional: + return SubmitRoleProfilesRequest( + role_profiles = [ + sailpoint.nerm.models.role_profile_1.RoleProfile_1( + role_id = '', + profile_id = '', ) + ] + ) + else: + return SubmitRoleProfilesRequest( + ) + """ + + def testSubmitRoleProfilesRequest(self): + """Test SubmitRoleProfilesRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_role_request.py b/sailpoint/nerm/test/test_submit_role_request.py new file mode 100644 index 000000000..26d86d117 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_role_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_role_request import SubmitRoleRequest + +class TestSubmitRoleRequest(unittest.TestCase): + """SubmitRoleRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoleRequest: + """Test SubmitRoleRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoleRequest` + """ + model = SubmitRoleRequest() + if include_optional: + return SubmitRoleRequest( + role = sailpoint.nerm.models.role_1.Role_1( + uid = 'sponsors_role', + type = 'NeprofileRole', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ) + else: + return SubmitRoleRequest( + ) + """ + + def testSubmitRoleRequest(self): + """Test SubmitRoleRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_roles200_response.py b/sailpoint/nerm/test/test_submit_roles200_response.py new file mode 100644 index 000000000..ea082c378 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_roles200_response.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_roles200_response import SubmitRoles200Response + +class TestSubmitRoles200Response(unittest.TestCase): + """SubmitRoles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRoles200Response: + """Test SubmitRoles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRoles200Response` + """ + model = SubmitRoles200Response() + if include_optional: + return SubmitRoles200Response( + roles = [ + sailpoint.nerm.models.role.Role( + id = '', + uid = 'sponsors_role', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return SubmitRoles200Response( + ) + """ + + def testSubmitRoles200Response(self): + """Test SubmitRoles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_roles_request.py b/sailpoint/nerm/test/test_submit_roles_request.py new file mode 100644 index 000000000..32e55328f --- /dev/null +++ b/sailpoint/nerm/test/test_submit_roles_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_roles_request import SubmitRolesRequest + +class TestSubmitRolesRequest(unittest.TestCase): + """SubmitRolesRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitRolesRequest: + """Test SubmitRolesRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitRolesRequest` + """ + model = SubmitRolesRequest() + if include_optional: + return SubmitRolesRequest( + roles = [ + sailpoint.nerm.models.role_1.Role_1( + uid = 'sponsors_role', + type = 'NeprofileRole', + name = 'Sponsors', + groups = [ + 'ad_group_name' + ], ) + ] + ) + else: + return SubmitRolesRequest( + ) + """ + + def testSubmitRolesRequest(self): + """Test SubmitRolesRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user200_response.py b/sailpoint/nerm/test/test_submit_user200_response.py new file mode 100644 index 000000000..38cc85a3c --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user200_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user200_response import SubmitUser200Response + +class TestSubmitUser200Response(unittest.TestCase): + """SubmitUser200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUser200Response: + """Test SubmitUser200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUser200Response` + """ + model = SubmitUser200Response() + if include_optional: + return SubmitUser200Response( + user = sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ) + else: + return SubmitUser200Response( + ) + """ + + def testSubmitUser200Response(self): + """Test SubmitUser200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_manager200_response.py b/sailpoint/nerm/test/test_submit_user_manager200_response.py new file mode 100644 index 000000000..9dcfb9a87 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_manager200_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_manager200_response import SubmitUserManager200Response + +class TestSubmitUserManager200Response(unittest.TestCase): + """SubmitUserManager200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserManager200Response: + """Test SubmitUserManager200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserManager200Response` + """ + model = SubmitUserManager200Response() + if include_optional: + return SubmitUserManager200Response( + user_manager = sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ) + else: + return SubmitUserManager200Response( + ) + """ + + def testSubmitUserManager200Response(self): + """Test SubmitUserManager200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_manager_request.py b/sailpoint/nerm/test/test_submit_user_manager_request.py new file mode 100644 index 000000000..15bf4844a --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_manager_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_manager_request import SubmitUserManagerRequest + +class TestSubmitUserManagerRequest(unittest.TestCase): + """SubmitUserManagerRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserManagerRequest: + """Test SubmitUserManagerRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserManagerRequest` + """ + model = SubmitUserManagerRequest() + if include_optional: + return SubmitUserManagerRequest( + user_manager = sailpoint.nerm.models.user_manager_1.UserManager_1( + user_id = '', + manager_id = '', ) + ) + else: + return SubmitUserManagerRequest( + ) + """ + + def testSubmitUserManagerRequest(self): + """Test SubmitUserManagerRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_managers200_response.py b/sailpoint/nerm/test/test_submit_user_managers200_response.py new file mode 100644 index 000000000..0f8da2837 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_managers200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_managers200_response import SubmitUserManagers200Response + +class TestSubmitUserManagers200Response(unittest.TestCase): + """SubmitUserManagers200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserManagers200Response: + """Test SubmitUserManagers200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserManagers200Response` + """ + model = SubmitUserManagers200Response() + if include_optional: + return SubmitUserManagers200Response( + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200, + user_managers = [ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ] + ) + else: + return SubmitUserManagers200Response( + ) + """ + + def testSubmitUserManagers200Response(self): + """Test SubmitUserManagers200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_managers_request.py b/sailpoint/nerm/test/test_submit_user_managers_request.py new file mode 100644 index 000000000..e77a3832c --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_managers_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_managers_request import SubmitUserManagersRequest + +class TestSubmitUserManagersRequest(unittest.TestCase): + """SubmitUserManagersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserManagersRequest: + """Test SubmitUserManagersRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserManagersRequest` + """ + model = SubmitUserManagersRequest() + if include_optional: + return SubmitUserManagersRequest( + user_managers = [ + sailpoint.nerm.models.user_manager_1.UserManager_1( + user_id = '', + manager_id = '', ) + ] + ) + else: + return SubmitUserManagersRequest( + ) + """ + + def testSubmitUserManagersRequest(self): + """Test SubmitUserManagersRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_profile200_response.py b/sailpoint/nerm/test/test_submit_user_profile200_response.py new file mode 100644 index 000000000..be0587e2c --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_profile200_response.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_profile200_response import SubmitUserProfile200Response + +class TestSubmitUserProfile200Response(unittest.TestCase): + """SubmitUserProfile200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserProfile200Response: + """Test SubmitUserProfile200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserProfile200Response` + """ + model = SubmitUserProfile200Response() + if include_optional: + return SubmitUserProfile200Response( + user_profile = sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ) + else: + return SubmitUserProfile200Response( + ) + """ + + def testSubmitUserProfile200Response(self): + """Test SubmitUserProfile200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_profile_request.py b/sailpoint/nerm/test/test_submit_user_profile_request.py new file mode 100644 index 000000000..55b0c91c2 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_profile_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_profile_request import SubmitUserProfileRequest + +class TestSubmitUserProfileRequest(unittest.TestCase): + """SubmitUserProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserProfileRequest: + """Test SubmitUserProfileRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserProfileRequest` + """ + model = SubmitUserProfileRequest() + if include_optional: + return SubmitUserProfileRequest( + user_profile = sailpoint.nerm.models.user_profile_1.UserProfile_1( + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ) + else: + return SubmitUserProfileRequest( + ) + """ + + def testSubmitUserProfileRequest(self): + """Test SubmitUserProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_request.py b/sailpoint/nerm/test/test_submit_user_request.py new file mode 100644 index 000000000..b98b9bd6a --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_request.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_request import SubmitUserRequest + +class TestSubmitUserRequest(unittest.TestCase): + """SubmitUserRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserRequest: + """Test SubmitUserRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserRequest` + """ + model = SubmitUserRequest() + if include_optional: + return SubmitUserRequest( + user = sailpoint.nerm.models.user_1.User_1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + profile_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + title = 'my_user_title', + status = 'Active', + login = 'my_user', + group_strings = 'Administrator_group,Developer_group', + locale = 'fr-CA', + password = 'U*bF7hy9fW', + sailpoint_identity_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', ) + ) + else: + return SubmitUserRequest( + ) + """ + + def testSubmitUserRequest(self): + """Test SubmitUserRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_role200_response.py b/sailpoint/nerm/test/test_submit_user_role200_response.py new file mode 100644 index 000000000..098f759ea --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_role200_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_role200_response import SubmitUserRole200Response + +class TestSubmitUserRole200Response(unittest.TestCase): + """SubmitUserRole200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserRole200Response: + """Test SubmitUserRole200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserRole200Response` + """ + model = SubmitUserRole200Response() + if include_optional: + return SubmitUserRole200Response( + user_role = sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ) + else: + return SubmitUserRole200Response( + ) + """ + + def testSubmitUserRole200Response(self): + """Test SubmitUserRole200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_role_request.py b/sailpoint/nerm/test/test_submit_user_role_request.py new file mode 100644 index 000000000..a7d405ab0 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_role_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_role_request import SubmitUserRoleRequest + +class TestSubmitUserRoleRequest(unittest.TestCase): + """SubmitUserRoleRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserRoleRequest: + """Test SubmitUserRoleRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserRoleRequest` + """ + model = SubmitUserRoleRequest() + if include_optional: + return SubmitUserRoleRequest( + user_role = sailpoint.nerm.models.user_role_1.UserRole_1( + user_id = '', + role_id = '', ) + ) + else: + return SubmitUserRoleRequest( + ) + """ + + def testSubmitUserRoleRequest(self): + """Test SubmitUserRoleRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_roles200_response.py b/sailpoint/nerm/test/test_submit_user_roles200_response.py new file mode 100644 index 000000000..d173327ec --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_roles200_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_roles200_response import SubmitUserRoles200Response + +class TestSubmitUserRoles200Response(unittest.TestCase): + """SubmitUserRoles200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserRoles200Response: + """Test SubmitUserRoles200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserRoles200Response` + """ + model = SubmitUserRoles200Response() + if include_optional: + return SubmitUserRoles200Response( + user_roles = [ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return SubmitUserRoles200Response( + ) + """ + + def testSubmitUserRoles200Response(self): + """Test SubmitUserRoles200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_user_roles_request.py b/sailpoint/nerm/test/test_submit_user_roles_request.py new file mode 100644 index 000000000..0aa342ed6 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_user_roles_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_user_roles_request import SubmitUserRolesRequest + +class TestSubmitUserRolesRequest(unittest.TestCase): + """SubmitUserRolesRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUserRolesRequest: + """Test SubmitUserRolesRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUserRolesRequest` + """ + model = SubmitUserRolesRequest() + if include_optional: + return SubmitUserRolesRequest( + user_roles = [ + sailpoint.nerm.models.user_role_1.UserRole_1( + user_id = '', + role_id = '', ) + ] + ) + else: + return SubmitUserRolesRequest( + ) + """ + + def testSubmitUserRolesRequest(self): + """Test SubmitUserRolesRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_users200_response.py b/sailpoint/nerm/test/test_submit_users200_response.py new file mode 100644 index 000000000..4661f5c43 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_users200_response.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_users200_response import SubmitUsers200Response + +class TestSubmitUsers200Response(unittest.TestCase): + """SubmitUsers200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUsers200Response: + """Test SubmitUsers200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUsers200Response` + """ + model = SubmitUsers200Response() + if include_optional: + return SubmitUsers200Response( + users = [ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ], + info = 'job has started', + job_status = sailpoint.nerm.models.job_job_status.Job_job_status( + job_id = '3ce88e47ad6dba2ddf349d21', + status = 'queued', ), + status = 200 + ) + else: + return SubmitUsers200Response( + ) + """ + + def testSubmitUsers200Response(self): + """Test SubmitUsers200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_users_request.py b/sailpoint/nerm/test/test_submit_users_request.py new file mode 100644 index 000000000..9ecf2b1f0 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_users_request.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_users_request import SubmitUsersRequest + +class TestSubmitUsersRequest(unittest.TestCase): + """SubmitUsersRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitUsersRequest: + """Test SubmitUsersRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitUsersRequest` + """ + model = SubmitUsersRequest() + if include_optional: + return SubmitUsersRequest( + users = [ + sailpoint.nerm.models.user_1.User_1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + profile_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + title = 'my_user_title', + status = 'Active', + login = 'my_user', + group_strings = 'Administrator_group,Developer_group', + locale = 'fr-CA', + password = 'U*bF7hy9fW', + sailpoint_identity_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', ) + ] + ) + else: + return SubmitUsersRequest( + ) + """ + + def testSubmitUsersRequest(self): + """Test SubmitUsersRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_workflow_session200_response.py b/sailpoint/nerm/test/test_submit_workflow_session200_response.py new file mode 100644 index 000000000..ca3b83cd7 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_workflow_session200_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_workflow_session200_response import SubmitWorkflowSession200Response + +class TestSubmitWorkflowSession200Response(unittest.TestCase): + """SubmitWorkflowSession200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitWorkflowSession200Response: + """Test SubmitWorkflowSession200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitWorkflowSession200Response` + """ + model = SubmitWorkflowSession200Response() + if include_optional: + return SubmitWorkflowSession200Response( + workflow_session = sailpoint.nerm.models.workflow_session.WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ) + else: + return SubmitWorkflowSession200Response( + ) + """ + + def testSubmitWorkflowSession200Response(self): + """Test SubmitWorkflowSession200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_submit_workflow_session_request.py b/sailpoint/nerm/test/test_submit_workflow_session_request.py new file mode 100644 index 000000000..58019a3a6 --- /dev/null +++ b/sailpoint/nerm/test/test_submit_workflow_session_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.submit_workflow_session_request import SubmitWorkflowSessionRequest + +class TestSubmitWorkflowSessionRequest(unittest.TestCase): + """SubmitWorkflowSessionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubmitWorkflowSessionRequest: + """Test SubmitWorkflowSessionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubmitWorkflowSessionRequest` + """ + model = SubmitWorkflowSessionRequest() + if include_optional: + return SubmitWorkflowSessionRequest( + workflow_session = sailpoint.nerm.models.workflow_session_1.WorkflowSession_1( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = [59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e], + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no}, ) + ) + else: + return SubmitWorkflowSessionRequest( + ) + """ + + def testSubmitWorkflowSessionRequest(self): + """Test SubmitWorkflowSessionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_synced_attribute.py b/sailpoint/nerm/test/test_synced_attribute.py new file mode 100644 index 000000000..85ab13c50 --- /dev/null +++ b/sailpoint/nerm/test/test_synced_attribute.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.synced_attribute import SyncedAttribute + +class TestSyncedAttribute(unittest.TestCase): + """SyncedAttribute unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SyncedAttribute: + """Test SyncedAttribute + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SyncedAttribute` + """ + model = SyncedAttribute() + if include_optional: + return SyncedAttribute( + id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + profile_type_id = '1246d8b3-ac29-4015-8154-dea4434a73fa', + ne_attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' + ) + else: + return SyncedAttribute( + ) + """ + + def testSyncedAttribute(self): + """Test SyncedAttribute""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_synced_attribute1.py b/sailpoint/nerm/test/test_synced_attribute1.py new file mode 100644 index 000000000..db19062ac --- /dev/null +++ b/sailpoint/nerm/test/test_synced_attribute1.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.synced_attribute1 import SyncedAttribute1 + +class TestSyncedAttribute1(unittest.TestCase): + """SyncedAttribute1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SyncedAttribute1: + """Test SyncedAttribute1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SyncedAttribute1` + """ + model = SyncedAttribute1() + if include_optional: + return SyncedAttribute1( + ne_attribute_id = '1246d8b3-ac29-4015-8154-dea4434a73fa' + ) + else: + return SyncedAttribute1( + ) + """ + + def testSyncedAttribute1(self): + """Test SyncedAttribute1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_synced_attributes_api.py b/sailpoint/nerm/test/test_synced_attributes_api.py new file mode 100644 index 000000000..97e2627fd --- /dev/null +++ b/sailpoint/nerm/test/test_synced_attributes_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.synced_attributes_api import SyncedAttributesApi + + +class TestSyncedAttributesApi(unittest.TestCase): + """SyncedAttributesApi unit test stubs""" + + def setUp(self) -> None: + self.api = SyncedAttributesApi() + + def tearDown(self) -> None: + pass + + def test_create_synced_attribute(self) -> None: + """Test case for create_synced_attribute + + Create a synced attribute + """ + pass + + def test_delete_synced_attribute(self) -> None: + """Test case for delete_synced_attribute + + Delete synced attribute + """ + pass + + def test_get_profile_type_attributes(self) -> None: + """Test case for get_profile_type_attributes + + profile_types/ne_attributes synced status + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_system_role.py b/sailpoint/nerm/test/test_system_role.py new file mode 100644 index 000000000..68aa58e7d --- /dev/null +++ b/sailpoint/nerm/test/test_system_role.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.system_role import SystemRole + +class TestSystemRole(unittest.TestCase): + """SystemRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SystemRole: + """Test SystemRole + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SystemRole` + """ + model = SystemRole() + if include_optional: + return SystemRole( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + uid = 'profile_contributor', + name = 'Profile Contributor' + ) + else: + return SystemRole( + ) + """ + + def testSystemRole(self): + """Test SystemRole""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_system_role_permission.py b/sailpoint/nerm/test/test_system_role_permission.py new file mode 100644 index 000000000..3449ddfe4 --- /dev/null +++ b/sailpoint/nerm/test/test_system_role_permission.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.system_role_permission import SystemRolePermission + +class TestSystemRolePermission(unittest.TestCase): + """SystemRolePermission unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SystemRolePermission: + """Test SystemRolePermission + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SystemRolePermission` + """ + model = SystemRolePermission() + if include_optional: + return SystemRolePermission( + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d', + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + value = 1, + subject = 1, + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419' + ) + else: + return SystemRolePermission( + ) + """ + + def testSystemRolePermission(self): + """Test SystemRolePermission""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_system_role_permission1.py b/sailpoint/nerm/test/test_system_role_permission1.py new file mode 100644 index 000000000..617d53aa0 --- /dev/null +++ b/sailpoint/nerm/test/test_system_role_permission1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.system_role_permission1 import SystemRolePermission1 + +class TestSystemRolePermission1(unittest.TestCase): + """SystemRolePermission1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SystemRolePermission1: + """Test SystemRolePermission1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SystemRolePermission1` + """ + model = SystemRolePermission1() + if include_optional: + return SystemRolePermission1( + system_role_id = 'ef5d413f-ba18-49e6-9a72-bb115aa133ff', + subject_id = 'db3d85ef-c324-458b-b206-58debaa96419', + value = 1, + subject = 0 + ) + else: + return SystemRolePermission1( + ) + """ + + def testSystemRolePermission1(self): + """Test SystemRolePermission1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_system_role_permissions_api.py b/sailpoint/nerm/test/test_system_role_permissions_api.py new file mode 100644 index 000000000..bcf7d0ebe --- /dev/null +++ b/sailpoint/nerm/test/test_system_role_permissions_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.system_role_permissions_api import SystemRolePermissionsApi + + +class TestSystemRolePermissionsApi(unittest.TestCase): + """SystemRolePermissionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = SystemRolePermissionsApi() + + def tearDown(self) -> None: + pass + + def test_create_system_role_permission(self) -> None: + """Test case for create_system_role_permission + + Create a system role permission + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_system_roles_api.py b/sailpoint/nerm/test/test_system_roles_api.py new file mode 100644 index 000000000..820abf428 --- /dev/null +++ b/sailpoint/nerm/test/test_system_roles_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.system_roles_api import SystemRolesApi + + +class TestSystemRolesApi(unittest.TestCase): + """SystemRolesApi unit test stubs""" + + def setUp(self) -> None: + self.api = SystemRolesApi() + + def tearDown(self) -> None: + pass + + def test_get_system_roles(self) -> None: + """Test case for get_system_roles + + Get system roles + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_unassign_action.py b/sailpoint/nerm/test/test_unassign_action.py new file mode 100644 index 000000000..1821c32f8 --- /dev/null +++ b/sailpoint/nerm/test/test_unassign_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.unassign_action import UnassignAction + +class TestUnassignAction(unittest.TestCase): + """UnassignAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UnassignAction: + """Test UnassignAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UnassignAction` + """ + model = UnassignAction() + if include_optional: + return UnassignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Un-assigns roles from a profile.', + archived = False + ) + else: + return UnassignAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Un-assigns roles from a profile.', + ) + """ + + def testUnassignAction(self): + """Test UnassignAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_form_by_id_request.py b/sailpoint/nerm/test/test_update_form_by_id_request.py new file mode 100644 index 000000000..c1eed54d4 --- /dev/null +++ b/sailpoint/nerm/test/test_update_form_by_id_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_form_by_id_request import UpdateFormByIdRequest + +class TestUpdateFormByIdRequest(unittest.TestCase): + """UpdateFormByIdRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateFormByIdRequest: + """Test UpdateFormByIdRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateFormByIdRequest` + """ + model = UpdateFormByIdRequest() + if include_optional: + return UpdateFormByIdRequest( + role = sailpoint.nerm.models.form_1.Form_1( + uid = 'form_uid', + description = 'Form for creating new profile', + name = 'My Form Name', + archived = False, ) + ) + else: + return UpdateFormByIdRequest( + ) + """ + + def testUpdateFormByIdRequest(self): + """Test UpdateFormByIdRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_page_content_translation_by_id_request.py b/sailpoint/nerm/test/test_update_page_content_translation_by_id_request.py new file mode 100644 index 000000000..fd5504a1b --- /dev/null +++ b/sailpoint/nerm/test/test_update_page_content_translation_by_id_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_page_content_translation_by_id_request import UpdatePageContentTranslationByIdRequest + +class TestUpdatePageContentTranslationByIdRequest(unittest.TestCase): + """UpdatePageContentTranslationByIdRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdatePageContentTranslationByIdRequest: + """Test UpdatePageContentTranslationByIdRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdatePageContentTranslationByIdRequest` + """ + model = UpdatePageContentTranslationByIdRequest() + if include_optional: + return UpdatePageContentTranslationByIdRequest( + page_content_translation = sailpoint.nerm.models.page_content_1.PageContent_1( + uid = 'first_text_body', + type = 'MediumHeading', + content = 'Lorem Ipsum yadda yaddda bing bang.', ) + ) + else: + return UpdatePageContentTranslationByIdRequest( + ) + """ + + def testUpdatePageContentTranslationByIdRequest(self): + """Test UpdatePageContentTranslationByIdRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_profile_action.py b/sailpoint/nerm/test/test_update_profile_action.py new file mode 100644 index 000000000..82e09f3fc --- /dev/null +++ b/sailpoint/nerm/test/test_update_profile_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_profile_action import UpdateProfileAction + +class TestUpdateProfileAction(unittest.TestCase): + """UpdateProfileAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateProfileAction: + """Test UpdateProfileAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateProfileAction` + """ + model = UpdateProfileAction() + if include_optional: + return UpdateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a profile with all attributes collected during the workflow.', + archived = False + ) + else: + return UpdateProfileAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Updates a profile with all attributes collected during the workflow.', + ) + """ + + def testUpdateProfileAction(self): + """Test UpdateProfileAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_profile_request.py b/sailpoint/nerm/test/test_update_profile_request.py new file mode 100644 index 000000000..f2f320eed --- /dev/null +++ b/sailpoint/nerm/test/test_update_profile_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_profile_request import UpdateProfileRequest + +class TestUpdateProfileRequest(unittest.TestCase): + """UpdateProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateProfileRequest: + """Test UpdateProfileRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateProfileRequest` + """ + model = UpdateProfileRequest() + if include_optional: + return UpdateProfileRequest( + profile = {attributes={First Name=John, Last Name=Doe, Email=john.doe@sailpoint.com}} + ) + else: + return UpdateProfileRequest( + profile = {attributes={First Name=John, Last Name=Doe, Email=john.doe@sailpoint.com}}, + ) + """ + + def testUpdateProfileRequest(self): + """Test UpdateProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_profile_request_profile.py b/sailpoint/nerm/test/test_update_profile_request_profile.py new file mode 100644 index 000000000..969020b05 --- /dev/null +++ b/sailpoint/nerm/test/test_update_profile_request_profile.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_profile_request_profile import UpdateProfileRequestProfile + +class TestUpdateProfileRequestProfile(unittest.TestCase): + """UpdateProfileRequestProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateProfileRequestProfile: + """Test UpdateProfileRequestProfile + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateProfileRequestProfile` + """ + model = UpdateProfileRequestProfile() + if include_optional: + return UpdateProfileRequestProfile( + attributes = { } + ) + else: + return UpdateProfileRequestProfile( + ) + """ + + def testUpdateProfileRequestProfile(self): + """Test UpdateProfileRequestProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_update_workflow.py b/sailpoint/nerm/test/test_update_workflow.py new file mode 100644 index 000000000..3f9053158 --- /dev/null +++ b/sailpoint/nerm/test/test_update_workflow.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.update_workflow import UpdateWorkflow + +class TestUpdateWorkflow(unittest.TestCase): + """UpdateWorkflow unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateWorkflow: + """Test UpdateWorkflow + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateWorkflow` + """ + model = UpdateWorkflow() + if include_optional: + return UpdateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + profile_status = 'active', + disable_failure_email_notifications = False + ) + else: + return UpdateWorkflow( + profile_type_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + status = 'Enabled', + uid = 'my_uid', + name = 'my_workflow', + profile_status = 'active', + ) + """ + + def testUpdateWorkflow(self): + """Test UpdateWorkflow""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_url.py b/sailpoint/nerm/test/test_url.py new file mode 100644 index 000000000..06eca6053 --- /dev/null +++ b/sailpoint/nerm/test/test_url.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.url import Url + +class TestUrl(unittest.TestCase): + """Url unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Url: + """Test Url + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Url` + """ + model = Url() + if include_optional: + return Url( + url = '' + ) + else: + return Url( + ) + """ + + def testUrl(self): + """Test Url""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user.py b/sailpoint/nerm/test/test_user.py new file mode 100644 index 000000000..9abe2fdae --- /dev/null +++ b/sailpoint/nerm/test/test_user.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user import User + +class TestUser(unittest.TestCase): + """User unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> User: + """Test User + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `User` + """ + model = User() + if include_optional: + return User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a' + ) + else: + return User( + ) + """ + + def testUser(self): + """Test User""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user1.py b/sailpoint/nerm/test/test_user1.py new file mode 100644 index 000000000..17680f951 --- /dev/null +++ b/sailpoint/nerm/test/test_user1.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user1 import User1 + +class TestUser1(unittest.TestCase): + """User1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> User1: + """Test User1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `User1` + """ + model = User1() + if include_optional: + return User1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + profile_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + title = 'my_user_title', + status = 'Active', + login = 'my_user', + group_strings = 'Administrator_group,Developer_group', + locale = 'fr-CA', + password = 'U*bF7hy9fW', + sailpoint_identity_id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e' + ) + else: + return User1( + name = 'Bob', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + login = 'my_user', + ) + """ + + def testUser1(self): + """Test User1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_manager.py b/sailpoint/nerm/test/test_user_manager.py new file mode 100644 index 000000000..267baba8d --- /dev/null +++ b/sailpoint/nerm/test/test_user_manager.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_manager import UserManager + +class TestUserManager(unittest.TestCase): + """UserManager unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserManager: + """Test UserManager + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserManager` + """ + model = UserManager() + if include_optional: + return UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '' + ) + else: + return UserManager( + ) + """ + + def testUserManager(self): + """Test UserManager""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_manager1.py b/sailpoint/nerm/test/test_user_manager1.py new file mode 100644 index 000000000..b9a8e5c75 --- /dev/null +++ b/sailpoint/nerm/test/test_user_manager1.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_manager1 import UserManager1 + +class TestUserManager1(unittest.TestCase): + """UserManager1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserManager1: + """Test UserManager1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserManager1` + """ + model = UserManager1() + if include_optional: + return UserManager1( + user_id = '', + manager_id = '' + ) + else: + return UserManager1( + ) + """ + + def testUserManager1(self): + """Test UserManager1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_managers.py b/sailpoint/nerm/test/test_user_managers.py new file mode 100644 index 000000000..27091277e --- /dev/null +++ b/sailpoint/nerm/test/test_user_managers.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_managers import UserManagers + +class TestUserManagers(unittest.TestCase): + """UserManagers unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserManagers: + """Test UserManagers + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserManagers` + """ + model = UserManagers() + if include_optional: + return UserManagers( + user_managers = [ + sailpoint.nerm.models.user_manager.UserManager( + id = '', + uid = '', + user_id = '', + manager_id = '', ) + ] + ) + else: + return UserManagers( + ) + """ + + def testUserManagers(self): + """Test UserManagers""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_managers_api.py b/sailpoint/nerm/test/test_user_managers_api.py new file mode 100644 index 000000000..77ee4db2c --- /dev/null +++ b/sailpoint/nerm/test/test_user_managers_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.user_managers_api import UserManagersApi + + +class TestUserManagersApi(unittest.TestCase): + """UserManagersApi unit test stubs""" + + def setUp(self) -> None: + self.api = UserManagersApi() + + def tearDown(self) -> None: + pass + + def test_get_user_manager(self) -> None: + """Test case for get_user_manager + + Find user-manager relationship + """ + pass + + def test_get_user_managers(self) -> None: + """Test case for get_user_managers + + Get user-manager relationships + """ + pass + + def test_patch_user_manager(self) -> None: + """Test case for patch_user_manager + + Update a user-manager relationship + """ + pass + + def test_patch_user_managers(self) -> None: + """Test case for patch_user_managers + + Update multiple user-manager relationships + """ + pass + + def test_submit_user_manager(self) -> None: + """Test case for submit_user_manager + + Create a new user-manager relationship + """ + pass + + def test_submit_user_managers(self) -> None: + """Test case for submit_user_managers + + Create multiple new user-manager relationships + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_profile.py b/sailpoint/nerm/test/test_user_profile.py new file mode 100644 index 000000000..0d33c372e --- /dev/null +++ b/sailpoint/nerm/test/test_user_profile.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_profile import UserProfile + +class TestUserProfile(unittest.TestCase): + """UserProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserProfile: + """Test UserProfile + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserProfile` + """ + model = UserProfile() + if include_optional: + return UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner' + ) + else: + return UserProfile( + ) + """ + + def testUserProfile(self): + """Test UserProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_profile1.py b/sailpoint/nerm/test/test_user_profile1.py new file mode 100644 index 000000000..499567d50 --- /dev/null +++ b/sailpoint/nerm/test/test_user_profile1.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_profile1 import UserProfile1 + +class TestUserProfile1(unittest.TestCase): + """UserProfile1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserProfile1: + """Test UserProfile1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserProfile1` + """ + model = UserProfile1() + if include_optional: + return UserProfile1( + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner' + ) + else: + return UserProfile1( + ) + """ + + def testUserProfile1(self): + """Test UserProfile1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_profiles.py b/sailpoint/nerm/test/test_user_profiles.py new file mode 100644 index 000000000..04104c971 --- /dev/null +++ b/sailpoint/nerm/test/test_user_profiles.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_profiles import UserProfiles + +class TestUserProfiles(unittest.TestCase): + """UserProfiles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserProfiles: + """Test UserProfiles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserProfiles` + """ + model = UserProfiles() + if include_optional: + return UserProfiles( + user_profiles = [ + sailpoint.nerm.models.user_profile.UserProfile( + id = '', + uid = '', + user_id = '', + profile_id = '', + ne_attribute_id = '', + relationship_type = 'owner', ) + ] + ) + else: + return UserProfiles( + ) + """ + + def testUserProfiles(self): + """Test UserProfiles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_profiles_api.py b/sailpoint/nerm/test/test_user_profiles_api.py new file mode 100644 index 000000000..37525c269 --- /dev/null +++ b/sailpoint/nerm/test/test_user_profiles_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.user_profiles_api import UserProfilesApi + + +class TestUserProfilesApi(unittest.TestCase): + """UserProfilesApi unit test stubs""" + + def setUp(self) -> None: + self.api = UserProfilesApi() + + def tearDown(self) -> None: + pass + + def test_create_user_profiles(self) -> None: + """Test case for create_user_profiles + + Create multiple user-profile contributor relationships + """ + pass + + def test_delete_user_profile(self) -> None: + """Test case for delete_user_profile + + Delete a user profile assignment + """ + pass + + def test_delete_user_profiles(self) -> None: + """Test case for delete_user_profiles + + Delete multiple user-profile contributor relationships + """ + pass + + def test_get_user_profile(self) -> None: + """Test case for get_user_profile + + Find user-profile contributor relationship + """ + pass + + def test_get_user_profiles(self) -> None: + """Test case for get_user_profiles + + Get user-profile contributor relationships + """ + pass + + def test_patch_user_profile(self) -> None: + """Test case for patch_user_profile + + Update a user-profile contributor relationship + """ + pass + + def test_patch_user_profiles(self) -> None: + """Test case for patch_user_profiles + + Update multiple user-profile contributor relationships + """ + pass + + def test_submit_user_profile(self) -> None: + """Test case for submit_user_profile + + Create a user-profile contributor relationship + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_role.py b/sailpoint/nerm/test/test_user_role.py new file mode 100644 index 000000000..2b1368c9c --- /dev/null +++ b/sailpoint/nerm/test/test_user_role.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_role import UserRole + +class TestUserRole(unittest.TestCase): + """UserRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserRole: + """Test UserRole + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserRole` + """ + model = UserRole() + if include_optional: + return UserRole( + id = '', + uid = '', + user_id = '', + role_id = '' + ) + else: + return UserRole( + ) + """ + + def testUserRole(self): + """Test UserRole""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_role1.py b/sailpoint/nerm/test/test_user_role1.py new file mode 100644 index 000000000..23ef748a9 --- /dev/null +++ b/sailpoint/nerm/test/test_user_role1.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_role1 import UserRole1 + +class TestUserRole1(unittest.TestCase): + """UserRole1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserRole1: + """Test UserRole1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserRole1` + """ + model = UserRole1() + if include_optional: + return UserRole1( + user_id = '', + role_id = '' + ) + else: + return UserRole1( + ) + """ + + def testUserRole1(self): + """Test UserRole1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_roles.py b/sailpoint/nerm/test/test_user_roles.py new file mode 100644 index 000000000..bb667066e --- /dev/null +++ b/sailpoint/nerm/test/test_user_roles.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.user_roles import UserRoles + +class TestUserRoles(unittest.TestCase): + """UserRoles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserRoles: + """Test UserRoles + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserRoles` + """ + model = UserRoles() + if include_optional: + return UserRoles( + user_roles = [ + sailpoint.nerm.models.user_role.UserRole( + id = '', + uid = '', + user_id = '', + role_id = '', ) + ] + ) + else: + return UserRoles( + ) + """ + + def testUserRoles(self): + """Test UserRoles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_user_roles_api.py b/sailpoint/nerm/test/test_user_roles_api.py new file mode 100644 index 000000000..c00e03347 --- /dev/null +++ b/sailpoint/nerm/test/test_user_roles_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.user_roles_api import UserRolesApi + + +class TestUserRolesApi(unittest.TestCase): + """UserRolesApi unit test stubs""" + + def setUp(self) -> None: + self.api = UserRolesApi() + + def tearDown(self) -> None: + pass + + def test_delete_user_role(self) -> None: + """Test case for delete_user_role + + Delete a user role assignment + """ + pass + + def test_get_user_role(self) -> None: + """Test case for get_user_role + + Find user role pairing + """ + pass + + def test_get_user_roles(self) -> None: + """Test case for get_user_roles + + Get user role pairings + """ + pass + + def test_patch_user_role(self) -> None: + """Test case for patch_user_role + + Update a user role pairing + """ + pass + + def test_patch_user_roles(self) -> None: + """Test case for patch_user_roles + + Update multiple user role pairings + """ + pass + + def test_submit_user_role(self) -> None: + """Test case for submit_user_role + + Assign new role to user + """ + pass + + def test_submit_user_roles(self) -> None: + """Test case for submit_user_roles + + Create new user role pairings + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_username_password_action.py b/sailpoint/nerm/test/test_username_password_action.py new file mode 100644 index 000000000..ac5ad7bc3 --- /dev/null +++ b/sailpoint/nerm/test/test_username_password_action.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.username_password_action import UsernamePasswordAction + +class TestUsernamePasswordAction(unittest.TestCase): + """UsernamePasswordAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsernamePasswordAction: + """Test UsernamePasswordAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsernamePasswordAction` + """ + model = UsernamePasswordAction() + if include_optional: + return UsernamePasswordAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user for their username and password.', + archived = False + ) + else: + return UsernamePasswordAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Prompt the user for their username and password.', + ) + """ + + def testUsernamePasswordAction(self): + """Test UsernamePasswordAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_users.py b/sailpoint/nerm/test/test_users.py new file mode 100644 index 000000000..8bdb65790 --- /dev/null +++ b/sailpoint/nerm/test/test_users.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.users import Users + +class TestUsers(unittest.TestCase): + """Users unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Users: + """Test Users + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Users` + """ + model = Users() + if include_optional: + return Users( + users = [ + sailpoint.nerm.models.user.User( + id = 'db6f8e8b-65c2-47d5-a0db-90bcc4e9df9e', + uid = 'user1', + name = 'myusername', + email = 'test@sailpoint.com', + type = 'NeprofileUser', + title = 'Director', + status = 'Active', + login = 'myLogin', + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + cookies_accepted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + preferred_language = 'fr-CA', + locale = 'fr-CA', + group_strings = 'Admin_group, Developer_group', + sailpoint_identity_id = '9496f8d6ddab49c0bef1e9ee6f1b835a', ) + ] + ) + else: + return Users( + ) + """ + + def testUsers(self): + """Test Users""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_users_api.py b/sailpoint/nerm/test/test_users_api.py new file mode 100644 index 000000000..a8461032a --- /dev/null +++ b/sailpoint/nerm/test/test_users_api.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.users_api import UsersApi + + +class TestUsersApi(unittest.TestCase): + """UsersApi unit test stubs""" + + def setUp(self) -> None: + self.api = UsersApi() + + def tearDown(self) -> None: + pass + + def test_delete_user(self) -> None: + """Test case for delete_user + + Delete a user + """ + pass + + def test_get_user(self) -> None: + """Test case for get_user + + Find user by id + """ + pass + + def test_get_user_avatar(self) -> None: + """Test case for get_user_avatar + + Retrieves URL user avatar + """ + pass + + def test_get_users(self) -> None: + """Test case for get_users + + Get users + """ + pass + + def test_patch_user(self) -> None: + """Test case for patch_user + + Update a user by id + """ + pass + + def test_patch_users(self) -> None: + """Test case for patch_users + + Update multiple users + """ + pass + + def test_submit_user(self) -> None: + """Test case for submit_user + + Create a new user + """ + pass + + def test_submit_user_avatar(self) -> None: + """Test case for submit_user_avatar + + Uploads new user avatar + """ + pass + + def test_submit_users(self) -> None: + """Test case for submit_users + + Create multiple new users + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_validation_errors.py b/sailpoint/nerm/test/test_validation_errors.py new file mode 100644 index 000000000..9bbc86d1b --- /dev/null +++ b/sailpoint/nerm/test/test_validation_errors.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.validation_errors import ValidationErrors + +class TestValidationErrors(unittest.TestCase): + """ValidationErrors unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidationErrors: + """Test ValidationErrors + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidationErrors` + """ + model = ValidationErrors() + if include_optional: + return ValidationErrors( + error = The failed to create/update, + errors = {attribute=can't be blank} + ) + else: + return ValidationErrors( + ) + """ + + def testValidationErrors(self): + """Test ValidationErrors""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_action.py b/sailpoint/nerm/test/test_workflow_action.py new file mode 100644 index 000000000..10e319644 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_action.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_action import WorkflowAction + +class TestWorkflowAction(unittest.TestCase): + """WorkflowAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowAction: + """Test WorkflowAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowAction` + """ + model = WorkflowAction() + if include_optional: + return WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + description = 'Require approval from another user or a group of users with a specific role.', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + add_requester_as_owner = True, + email_attribute_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + email_addresses = [johndoe@gmail.com, janedoe@gmail.com], + new_status = 'Active, Inactive, On Leave, Terminated', + archived = False, + skippable = False, + requires_comment = False + ) + else: + return WorkflowAction( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + page_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + ) + """ + + def testWorkflowAction(self): + """Test WorkflowAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_action_performer_api.py b/sailpoint/nerm/test/test_workflow_action_performer_api.py new file mode 100644 index 000000000..908084b93 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_action_performer_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.workflow_action_performer_api import WorkflowActionPerformerApi + + +class TestWorkflowActionPerformerApi(unittest.TestCase): + """WorkflowActionPerformerApi unit test stubs""" + + def setUp(self) -> None: + self.api = WorkflowActionPerformerApi() + + def tearDown(self) -> None: + pass + + def test_create_workflow_action_performer(self) -> None: + """Test case for create_workflow_action_performer + + Create a workflow action performer + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_action_performers.py b/sailpoint/nerm/test/test_workflow_action_performers.py new file mode 100644 index 000000000..6d308e5b5 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_action_performers.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_action_performers import WorkflowActionPerformers + +class TestWorkflowActionPerformers(unittest.TestCase): + """WorkflowActionPerformers unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowActionPerformers: + """Test WorkflowActionPerformers + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowActionPerformers` + """ + model = WorkflowActionPerformers() + if include_optional: + return WorkflowActionPerformers( + id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab' + ) + else: + return WorkflowActionPerformers( + ) + """ + + def testWorkflowActionPerformers(self): + """Test WorkflowActionPerformers""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_action_performers1.py b/sailpoint/nerm/test/test_workflow_action_performers1.py new file mode 100644 index 000000000..c9e5da6f9 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_action_performers1.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_action_performers1 import WorkflowActionPerformers1 + +class TestWorkflowActionPerformers1(unittest.TestCase): + """WorkflowActionPerformers1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowActionPerformers1: + """Test WorkflowActionPerformers1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowActionPerformers1` + """ + model = WorkflowActionPerformers1() + if include_optional: + return WorkflowActionPerformers1( + contributor_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + contributors = True, + contributors_manager_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + owner = True, + profiles_contributors_attribute_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab', + requester = True, + requesters_manager = True, + workflow_action_id = 'e6905f25-489a-43cd-a758-bdacaf60dcab' + ) + else: + return WorkflowActionPerformers1( + ) + """ + + def testWorkflowActionPerformers1(self): + """Test WorkflowActionPerformers1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_actions_api.py b/sailpoint/nerm/test/test_workflow_actions_api.py new file mode 100644 index 000000000..353573940 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_actions_api.py @@ -0,0 +1,234 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.workflow_actions_api import WorkflowActionsApi + + +class TestWorkflowActionsApi(unittest.TestCase): + """WorkflowActionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = WorkflowActionsApi() + + def tearDown(self) -> None: + pass + + def test_create_approval_action(self) -> None: + """Test case for create_approval_action + + Create an approval action + """ + pass + + def test_create_ask_security_question_action(self) -> None: + """Test case for create_ask_security_question_action + + Create ask security question action + """ + pass + + def test_create_auto_assign_action(self) -> None: + """Test case for create_auto_assign_action + + Create an auto assign action + """ + pass + + def test_create_batch_update_action(self) -> None: + """Test case for create_batch_update_action + + Create a batch update action + """ + pass + + def test_create_close_session_action(self) -> None: + """Test case for create_close_session_action + + Create a close session action + """ + pass + + def test_create_contributors_action(self) -> None: + """Test case for create_contributors_action + + Create a contributors action + """ + pass + + def test_create_create_profile_action(self) -> None: + """Test case for create_create_profile_action + + Create a create profile action + """ + pass + + def test_create_duplicate_prevention_action(self) -> None: + """Test case for create_duplicate_prevention_action + + Create a duplicate prevention action + """ + pass + + def test_create_email_verification_action(self) -> None: + """Test case for create_email_verification_action + + Create an email verification action + """ + pass + + def test_create_fulfillment_action(self) -> None: + """Test case for create_fulfillment_action + + Create a fulfillment action + """ + pass + + def test_create_identity_proofing_action(self) -> None: + """Test case for create_identity_proofing_action + + Create an identity proofing action + """ + pass + + def test_create_invitation_action(self) -> None: + """Test case for create_invitation_action + + Create an invitation action + """ + pass + + def test_create_ldap_action(self) -> None: + """Test case for create_ldap_action + + Create a ldap action + """ + pass + + def test_create_notification_action(self) -> None: + """Test case for create_notification_action + + Create a notification action + """ + pass + + def test_create_password_reset_action(self) -> None: + """Test case for create_password_reset_action + + Create a password reset action + """ + pass + + def test_create_profile_check_action(self) -> None: + """Test case for create_profile_check_action + + Create a profile check action + """ + pass + + def test_create_profile_select_action(self) -> None: + """Test case for create_profile_select_action + + Create a profile select action + """ + pass + + def test_create_request_action(self) -> None: + """Test case for create_request_action + + Create a request action + """ + pass + + def test_create_rest_api_action(self) -> None: + """Test case for create_rest_api_action + + Create a REST API action + """ + pass + + def test_create_review_action(self) -> None: + """Test case for create_review_action + + Create a review action + """ + pass + + def test_create_run_workflow_action(self) -> None: + """Test case for create_run_workflow_action + + Create a run workflow action + """ + pass + + def test_create_set_attributes_action(self) -> None: + """Test case for create_set_attributes_action + + Create a set attributes action + """ + pass + + def test_create_set_security_question_action(self) -> None: + """Test case for create_set_security_question_action + + Create set security question action + """ + pass + + def test_create_soap_api_action(self) -> None: + """Test case for create_soap_api_action + + Create a SOAP API action + """ + pass + + def test_create_status_change_action(self) -> None: + """Test case for create_status_change_action + + Create a status change action + """ + pass + + def test_create_unassign_action(self) -> None: + """Test case for create_unassign_action + + Create an unassign action + """ + pass + + def test_create_update_profile_action(self) -> None: + """Test case for create_update_profile_action + + Create an update profile action + """ + pass + + def test_create_username_password_action(self) -> None: + """Test case for create_username_password_action + + Create a username password action + """ + pass + + def test_get_workflow_actions(self) -> None: + """Test case for get_workflow_actions + + Get Workflow Actions + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_page.py b/sailpoint/nerm/test/test_workflow_page.py new file mode 100644 index 000000000..50e80eaca --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_page.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_page import WorkflowPage + +class TestWorkflowPage(unittest.TestCase): + """WorkflowPage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowPage: + """Test WorkflowPage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowPage` + """ + model = WorkflowPage() + if include_optional: + return WorkflowPage( + uid = 'page_uid', + description = 'Page for workflow', + name = 'My Page Name', + archived = False, + id = '2e06b876-f456-473d-bd65-b6435e0b6b2d' + ) + else: + return WorkflowPage( + ) + """ + + def testWorkflowPage(self): + """Test WorkflowPage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_session.py b/sailpoint/nerm/test/test_workflow_session.py new file mode 100644 index 000000000..3c81d8a43 --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_session.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_session import WorkflowSession + +class TestWorkflowSession(unittest.TestCase): + """WorkflowSession unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowSession: + """Test WorkflowSession + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowSession` + """ + model = WorkflowSession() + if include_optional: + return WorkflowSession( + id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + uid = 'wsUid', + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = 59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, + status = 'completed', + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=Profile Name, profile_search_attribute_uid=Profile Name, multiple_profile_search_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, multiple_profile_select_attribute_uid=Profile Name,Second Profile Name,Third Profile Name, contributor_select_attribute_uid=User Name (user_email@test.com), contributor_search_attribute_uid=User Name (user_email@test.com), multiple_contributor_search_attribute_uid=User Name (user_email@test.com),Second User Name (user_email@test.com),Third User Name (user_email@test.com), owner_select_attribute_uid=User Name (user_email@test.com), owner_search_attribute_uid=User Name (user_email@test.com), dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} + ) + else: + return WorkflowSession( + ) + """ + + def testWorkflowSession(self): + """Test WorkflowSession""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_session1.py b/sailpoint/nerm/test/test_workflow_session1.py new file mode 100644 index 000000000..e8540f1cd --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_session1.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.models.workflow_session1 import WorkflowSession1 + +class TestWorkflowSession1(unittest.TestCase): + """WorkflowSession1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkflowSession1: + """Test WorkflowSession1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkflowSession1` + """ + model = WorkflowSession1() + if include_optional: + return WorkflowSession1( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + profile_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + profile_ids = [59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e], + attributes = {text_attribute_uid=static text, date_attribute_uid=01/15/2020, profile_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_select_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, profile_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, multiple_profile_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, contributor_select_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, contributor_search_attribute_uid=49ed1cb6-9977-4965-9bfe-f2bcc2425244, multiple_contributor_search_attribute_uid=59ed1cb6-9977-4965-9bfe-f2bcc242523e, 89ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_select_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, owner_search_attribute_uid=79ed1cb6-9977-4965-9bfe-f2bcc242523e, dropdown_attribute_uid=yes, no, tags_attribute_uid=yes, no, checkbox_attribute_uid=yes, no, text_area_uid=static text, radio_attribute_uid=yes, no} + ) + else: + return WorkflowSession1( + workflow_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_id = '33f072dd-13b4-41e1-8ea0-16f2a59b57c8', + requester_type = 'User', + ) + """ + + def testWorkflowSession1(self): + """Test WorkflowSession1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflow_sessions_api.py b/sailpoint/nerm/test/test_workflow_sessions_api.py new file mode 100644 index 000000000..bacc079be --- /dev/null +++ b/sailpoint/nerm/test/test_workflow_sessions_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.workflow_sessions_api import WorkflowSessionsApi + + +class TestWorkflowSessionsApi(unittest.TestCase): + """WorkflowSessionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = WorkflowSessionsApi() + + def tearDown(self) -> None: + pass + + def test_get_workflow_session(self) -> None: + """Test case for get_workflow_session + + Find workflow session + """ + pass + + def test_get_workflow_session_upload(self) -> None: + """Test case for get_workflow_session_upload + + Retrieves workflow session attachment URL + """ + pass + + def test_get_workflow_sessions(self) -> None: + """Test case for get_workflow_sessions + + Get workflow sessions + """ + pass + + def test_patch_workflow_session(self) -> None: + """Test case for patch_workflow_session + + Update a workflow session + """ + pass + + def test_submit_workflow_session(self) -> None: + """Test case for submit_workflow_session + + Create a workflow session + """ + pass + + def test_submit_workflow_session_upload(self) -> None: + """Test case for submit_workflow_session_upload + + Uploads workflow session attachment + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/test/test_workflows_api.py b/sailpoint/nerm/test/test_workflows_api.py new file mode 100644 index 000000000..cedb3dd07 --- /dev/null +++ b/sailpoint/nerm/test/test_workflows_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + NERM API + + The NERM API accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.api.workflows_api import WorkflowsApi + + +class TestWorkflowsApi(unittest.TestCase): + """WorkflowsApi unit test stubs""" + + def setUp(self) -> None: + self.api = WorkflowsApi() + + def tearDown(self) -> None: + pass + + def test_create_automated_workflow(self) -> None: + """Test case for create_automated_workflow + + Create an automated workflow + """ + pass + + def test_create_batch_workflow(self) -> None: + """Test case for create_batch_workflow + + Create a batch workflow + """ + pass + + def test_create_create_workflow(self) -> None: + """Test case for create_create_workflow + + Create a create workflow + """ + pass + + def test_create_login_workflow(self) -> None: + """Test case for create_login_workflow + + Create a login workflow + """ + pass + + def test_create_password_update_workflow(self) -> None: + """Test case for create_password_update_workflow + + Create a password reset workflow + """ + pass + + def test_create_registration_workflow(self) -> None: + """Test case for create_registration_workflow + + Create a registration workflow + """ + pass + + def test_create_update_workflow(self) -> None: + """Test case for create_update_workflow + + Create an update workflow + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/__init__.py b/sailpoint/nerm/v2025/__init__.py new file mode 100644 index 000000000..875dcd73d --- /dev/null +++ b/sailpoint/nerm/v2025/__init__.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +# flake8: noqa + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "1.4.1" + +# import apis into sdk package +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + +# import ApiClient +from sailpoint.nerm.v2025.api_response import ApiResponse +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.nerm.v2025.configuration import Configuration +from sailpoint.nerm.v2025.exceptions import OpenApiException +from sailpoint.nerm.v2025.exceptions import ApiTypeError +from sailpoint.nerm.v2025.exceptions import ApiValueError +from sailpoint.nerm.v2025.exceptions import ApiKeyError +from sailpoint.nerm.v2025.exceptions import ApiAttributeError +from sailpoint.nerm.v2025.exceptions import ApiException + +# import models into sdk package +from sailpoint.nerm.v2025.models.delegate_user import DelegateUser +from sailpoint.nerm.v2025.models.delegation import Delegation +from sailpoint.nerm.v2025.models.delegation1 import Delegation1 +from sailpoint.nerm.v2025.models.delegation2 import Delegation2 +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.nerm.v2025.models.delegations_get500_response import DelegationsGet500Response +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.v2025.models.delegations_post404_response import DelegationsPost404Response +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest +from sailpoint.nerm.v2025.models.delegator_user import DelegatorUser diff --git a/sailpoint/nerm/v2025/api/__init__.py b/sailpoint/nerm/v2025/api/__init__.py new file mode 100644 index 000000000..636ff9ca7 --- /dev/null +++ b/sailpoint/nerm/v2025/api/__init__.py @@ -0,0 +1,5 @@ +# flake8: noqa + +# import apis into api package +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + diff --git a/sailpoint/nerm/v2025/api/delegations_api.py b/sailpoint/nerm/v2025/api/delegations_api.py new file mode 100644 index 000000000..7f3a0843d --- /dev/null +++ b/sailpoint/nerm/v2025/api/delegations_api.py @@ -0,0 +1,1496 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest + +from sailpoint.nerm.v2025.api_client import ApiClient, RequestSerialized +from sailpoint.nerm.v2025.api_response import ApiResponse +from sailpoint.nerm.v2025.rest import RESTResponseType + + +class DelegationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delegations_get( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + include: Annotated[Optional[StrictStr], Field(description="Include related resources body. For example, 'include=delegator,delegate'.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsGet200Response: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param include: Include related resources body. For example, 'include=delegator,delegate'. + :type include: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + limit=limit, + offset=offset, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_get_with_http_info( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + include: Annotated[Optional[StrictStr], Field(description="Include related resources body. For example, 'include=delegator,delegate'.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsGet200Response]: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param include: Include related resources body. For example, 'include=delegator,delegate'. + :type include: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + limit=limit, + offset=offset, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_get_without_preload_content( + self, + delegate_id: Annotated[Optional[StrictStr], Field(description="Filter by delegate ID")] = None, + delegator_id: Annotated[Optional[StrictStr], Field(description="Filter by delegator ID")] = None, + expired: Annotated[Optional[StrictBool], Field(description="Filter by expiration status (true for expired, false for not expired)")] = None, + limit: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The maximum number of items to return.")] = None, + offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The number of items to skip before starting to collect the result set.")] = None, + include: Annotated[Optional[StrictStr], Field(description="Include related resources body. For example, 'include=delegator,delegate'.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List delegations + + Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + + :param delegate_id: Filter by delegate ID + :type delegate_id: str + :param delegator_id: Filter by delegator ID + :type delegator_id: str + :param expired: Filter by expiration status (true for expired, false for not expired) + :type expired: bool + :param limit: The maximum number of items to return. + :type limit: int + :param offset: The number of items to skip before starting to collect the result set. + :type offset: int + :param include: Include related resources body. For example, 'include=delegator,delegate'. + :type include: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_get_serialize( + delegate_id=delegate_id, + delegator_id=delegator_id, + expired=expired, + limit=limit, + offset=offset, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsGet200Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_get_serialize( + self, + delegate_id, + delegator_id, + expired, + limit, + offset, + include, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if delegate_id is not None: + + _query_params.append(('delegate_id', delegate_id)) + + if delegator_id is not None: + + _query_params.append(('delegator_id', delegator_id)) + + if expired is not None: + + _query_params.append(('expired', expired)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if include is not None: + + _query_params.append(('include', include)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/delegations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_delete( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_delete_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_delete_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete a delegation + + Delete an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_delete_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_delete_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_get( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_get_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_get_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get a single delegation + + Returns a single delegation record by its ID. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_get_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_get_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_id_patch( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_id_patch_with_http_info( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_id_patch_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="ID of the object to retrieve, update, or delete")], + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a delegation + + Update an existing delegation record. + + :param id: ID of the object to retrieve, update, or delete (required) + :type id: str + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_id_patch_serialize( + id=id, + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_id_patch_serialize( + self, + id, + delegations_post_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if delegations_post_request is not None: + _body_params = delegations_post_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/delegations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delegations_post( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DelegationsPost201Response: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delegations_post_with_http_info( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DelegationsPost201Response]: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delegations_post_without_preload_content( + self, + delegations_post_request: DelegationsPostRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a delegation + + Create a new delegation record. + + :param delegations_post_request: (required) + :type delegations_post_request: DelegationsPostRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delegations_post_serialize( + delegations_post_request=delegations_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "DelegationsPost201Response", + '404': "DelegationsPost404Response", + '500': "DelegationsGet500Response", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delegations_post_serialize( + self, + delegations_post_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if delegations_post_request is not None: + _body_params = delegations_post_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( _query_params, + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/delegations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sailpoint/nerm/v2025/api_client.py b/sailpoint/nerm/v2025/api_client.py new file mode 100644 index 000000000..8745444f0 --- /dev/null +++ b/sailpoint/nerm/v2025/api_client.py @@ -0,0 +1,869 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import datetime +from dateutil.parser import parse +from enum import Enum +import decimal +import json +import mimetypes +import os +import platform +import re +import sys +import tempfile +import xmltodict + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from sailpoint.configuration import Configuration +from sailpoint.nerm.v2025.api_response import ApiResponse, T as ApiResponseT +import sailpoint.nerm.v2025.models +from sailpoint.nerm.v2025 import rest +from sailpoint.nerm.v2025.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +class bcolors: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKCYAN = '\033[96m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'SailPoint-SDK-Python/1.4.1' + if configuration and getattr(configuration, 'consumer_identifier', None) and getattr(configuration, 'consumer_version', None): + self.user_agent = f'{self.user_agent} ({configuration.consumer_identifier}/{configuration.consumer_version})' + self.user_agent = f'{self.user_agent} ({sys.platform}; {platform.machine()}) Python/{sys.version.split()[0]} (openapi-generator/7.12.0)' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + pass + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + # Add Authentication header to request + header_params['Authorization'] = "Bearer " + self.configuration.access_token + + if not self.configuration.experimental and 'X-SailPoint-Experimental' in header_params: + raise Exception(f"{bcolors.WARNING}You are using Experimental APIs. Set configuration.experimental = True to enable these APIs in the SDK.{bcolors.ENDC}") + elif self.configuration.experimental == True and 'X-SailPoint-Experimental' in header_params: + if not self.configuration.suppress_experimental_warnings: + print(f"{bcolors.WARNING}Warning: You are using Experimental APIs ({resource_path}){bcolors.ENDC}") + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + if files: + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None: + url = self.configuration.nerm_base_url + '/v2025' + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type == "bytearray": + return_data = self.save_response_to_file(response_data.data, response_data.getheaders()) + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.getheader('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type, content_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.getheaders(), + raw_data = response_data.data + ) + + def save_response_to_file(self, file_data: bytes, headers: Dict[str, str]) -> str: + """Saves binary response content as a file and returns the file path.""" + + content_disposition = headers.get('Content-Disposition', None) + filename = "downloaded_file" + + if content_disposition: + filename_match = re.search(r'filename="(.+?)"', content_disposition) + filename = filename_match.group(1) if filename_match else "downloaded_file" + + content_type = headers.get('Content-Type', '').lower() + + # Extract file extension if it exists + existing_extension = os.path.splitext(filename)[1] # Extracts ".zip", ".csv", etc. + + # If there's no existing extension, determine it from Content-Type + if not existing_extension: + if "application/zip" in content_type: + filename += ".zip" + elif "application/pdf" in content_type: + filename += ".pdf" + elif "image/png" in content_type: + filename += ".png" + elif "image/jpeg" in content_type: + filename += ".jpg" + elif "text/csv" in content_type: + filename += ".csv" + + file_path = os.path.join(os.getcwd(), filename) + + with open(file_path, "wb") as file: + file.write(file_data) # Write bytes directly + + print(f"File has been saved to: {file_path}") + return file_path + + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is SecretStr, return obj.get_secret_value() + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, Enum): + return obj.value + elif isinstance(obj, SecretStr): + return obj.get_secret_value() + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + + elif isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() + else: + obj_dict = obj.__dict__ + + return { + key: self.sanitize_for_serialization(val) + for key, val in obj_dict.items() + } + + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + :param content_type: content type of response. + + :return: deserialized object. + """ + + # fetch data from response object + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif content_type.startswith("application/json"): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif content_type.startswith("application/xml") or content_type.startswith("text/xml"): + data = xmltodict.parse(response_text) + elif content_type.startswith("text/plain"): + data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(sailpoint.nerm.v2025.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datetime(data) + elif klass == decimal.Decimal: + return decimal.Decimal(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, quote(str(value))) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + return params + + def select_header_accept(self, _query_params: List[Tuple[str, str]], accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + file_format = next((value for key, value in _query_params if key.lower() == 'fileformat'), None) + + format_to_accept = { + "csv": "application/csv", + "json": "application/json", + "xml": "application/xml", + "pdf": "application/pdf", + } + + if file_format and file_format.lower() in format_to_accept: + return format_to_accept[file_format.lower()] + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = m.group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/sailpoint/nerm/v2025/api_response.py b/sailpoint/nerm/v2025/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/sailpoint/nerm/v2025/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/sailpoint/nerm/v2025/configuration.py b/sailpoint/nerm/v2025/configuration.py new file mode 100644 index 000000000..a09bbf574 --- /dev/null +++ b/sailpoint/nerm/v2025/configuration.py @@ -0,0 +1,571 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import copy +import http.client as httplib +import logging +from logging import FileHandler +import multiprocessing +import sys +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict +from typing_extensions import NotRequired, Self + +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +ServerVariablesT = Dict[str, str] + +GenericAuthSetting = TypedDict( + "GenericAuthSetting", + { + "type": str, + "in": str, + "key": str, + "value": str, + }, +) + + +OAuth2AuthSetting = TypedDict( + "OAuth2AuthSetting", + { + "type": Literal["oauth2"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +APIKeyAuthSetting = TypedDict( + "APIKeyAuthSetting", + { + "type": Literal["api_key"], + "in": str, + "key": str, + "value": Optional[str], + }, +) + + +BasicAuthSetting = TypedDict( + "BasicAuthSetting", + { + "type": Literal["basic"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": Optional[str], + }, +) + + +BearerFormatAuthSetting = TypedDict( + "BearerFormatAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "format": Literal["JWT"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +BearerAuthSetting = TypedDict( + "BearerAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +HTTPSignatureAuthSetting = TypedDict( + "HTTPSignatureAuthSetting", + { + "type": Literal["http-signature"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": None, + }, +) + + +AuthSettings = TypedDict( + "AuthSettings", + { + }, + total=False, +) + + +class HostSettingVariable(TypedDict): + description: str + default_value: str + enum_values: List[str] + + +class HostSetting(TypedDict): + url: str + description: str + variables: NotRequired[Dict[str, HostSettingVariable]] + + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: Number of retries for API requests. + + """ + + _default: ClassVar[Optional[Self]] = None + + def __init__( + self, + host: Optional[str]=None, + api_key: Optional[Dict[str, str]]=None, + api_key_prefix: Optional[Dict[str, str]]=None, + username: Optional[str]=None, + password: Optional[str]=None, + access_token: Optional[str]=None, + server_index: Optional[int]=None, + server_variables: Optional[ServerVariablesT]=None, + server_operation_index: Optional[Dict[int, int]]=None, + server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, + ignore_operation_servers: bool=False, + ssl_ca_cert: Optional[str]=None, + retries: Optional[int] = None, + *, + debug: Optional[bool] = None, + ) -> None: + """Constructor + """ + self._base_path = "https://acmeco.nonemployee.com/api/v2025" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.ignore_operation_servers = ignore_operation_servers + """Ignore operation servers + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("sailpoint.nerm.v2025") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + if debug is not None: + self.debug = debug + else: + self.__debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = None + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy: Optional[str] = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = retries + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + self.socket_options = None + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + """datetime format + """ + + self.date_format = "%Y-%m-%d" + """date format + """ + + def __deepcopy__(self, memo: Dict[int, Any]) -> Self: + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name: str, value: Any) -> None: + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default: Optional[Self]) -> None: + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls) -> Self: + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls) -> Self: + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = cls() + return cls._default + + @property + def logger_file(self) -> Optional[str]: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value: Optional[str]) -> None: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self) -> bool: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value: bool) -> None: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self) -> str: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value: str) -> None: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]: + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + return None + + def get_basic_auth_token(self) -> Optional[str]: + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self)-> AuthSettings: + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth: AuthSettings = {} + return auth + + def to_debug_report(self) -> str: + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 1.0.0\n"\ + "SDK Package Version: 1.4.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self) -> List[HostSetting]: + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://{tenantName}.nonemployee.com/api/v2025", + 'description': "No description provided", + 'variables': { + 'tenantName': { + 'description': "Tenant name assigned to customer", + 'default_value': "acmeco", + } + } + } + ] + + def get_host_from_settings( + self, + index: Optional[int], + variables: Optional[ServerVariablesT]=None, + servers: Optional[List[HostSetting]]=None, + ) -> str: + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self) -> str: + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value: str) -> None: + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/sailpoint/nerm/v2025/docs/Methods/DelegationsApi.md b/sailpoint/nerm/v2025/docs/Methods/DelegationsApi.md new file mode 100644 index 000000000..149595353 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Methods/DelegationsApi.md @@ -0,0 +1,311 @@ +--- +id: delegations +title: Delegations +pagination_label: delegations +sidebar_label: delegations +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'delegations', 'delegations'] +slug: /tools/sdk/python//methods/delegations +tags: ['SDK', 'Software Development Kit', 'delegations', 'delegations'] +--- + +# sailpoint.nerm.v2025.DelegationsApi + +All URIs are relative to *https://acmeco.nonemployee.com/api/v2025* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delegations-get**](#delegations-get) | **GET** `/delegations` | List delegations +[**delegations-id-delete**](#delegations-id-delete) | **DELETE** `/delegations/{id}` | Delete a delegation +[**delegations-id-get**](#delegations-id-get) | **GET** `/delegations/{id}` | Get a single delegation +[**delegations-id-patch**](#delegations-id-patch) | **PATCH** `/delegations/{id}` | Update a delegation +[**delegations-post**](#delegations-post) | **POST** `/delegations` | Create a delegation + + +## delegations-get +List delegations +Returns a list of delegation records, optionally filtered by delegate, delegator, or expiration status. + +[API Spec](https://developer.sailpoint.com/docs/api/v2025/delegations-get) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Query | delegate_id | **str** | (optional) (default to 'false') | Filter by delegate ID + Query | delegator_id | **str** | (optional) (default to 'false') | Filter by delegator ID + Query | expired | **bool** | (optional) (default to False) | Filter by expiration status (true for expired, false for not expired) + Query | limit | **int** | (optional) | The maximum number of items to return. + Query | offset | **int** | (optional) | The number of items to skip before starting to collect the result set. + Query | include | **str** | (optional) (default to '') | Include related resources body. For example, 'include=delegator,delegate'. + +### Return type +[**DelegationsGet200Response**](../models/delegations-get200-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsGet200Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | DelegationsGet500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + delegate_id = 'false' # str | Filter by delegate ID (optional) (default to 'false') # str | Filter by delegate ID (optional) (default to 'false') + delegator_id = 'false' # str | Filter by delegator ID (optional) (default to 'false') # str | Filter by delegator ID (optional) (default to 'false') + expired = False # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) + limit = 5 # int | The maximum number of items to return. (optional) # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) # int | The number of items to skip before starting to collect the result set. (optional) + include = '' # str | Include related resources body. For example, 'include=delegator,delegate'. (optional) (default to '') # str | Include related resources body. For example, 'include=delegator,delegate'. (optional) (default to '') + + try: + # List delegations + + results = DelegationsApi(api_client).delegations_get() + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_get(delegate_id, delegator_id, expired, limit, offset, include) + print("The response of DelegationsApi->delegations_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_get: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-delete +Delete a delegation +Delete an existing delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api/v2025/delegations-id-delete) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type + (empty response body) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | The delegation record '<delegation_id>' has been destroyed. | | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | DelegationsGet500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Delete a delegation + + DelegationsApi(api_client).delegations_id_delete(id=id) + # Below is a request that includes all optional parameters + # DelegationsApi(api_client).delegations_id_delete(id) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_delete: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-get +Get a single delegation +Returns a single delegation record by its ID. + +[API Spec](https://developer.sailpoint.com/docs/api/v2025/delegations-id-get) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | DelegationsGet500Response | - | + +### HTTP request headers + - **Content-Type**: Not defined + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + + try: + # Get a single delegation + + results = DelegationsApi(api_client).delegations_id_get(id=id) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_get(id) + print("The response of DelegationsApi->delegations_id_get:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_get: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-id-patch +Update a delegation +Update an existing delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api/v2025/delegations-id-patch) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- +Path | id | **str** | True | ID of the object to retrieve, update, or delete + Body | delegations_post_request | [**DelegationsPostRequest**](../models/delegations-post-request) | True | + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +200 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | DelegationsGet500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + id = '1246d8b3-ac29-4015-8154-dea4434a73fa' # str | ID of the object to retrieve, update, or delete # str | ID of the object to retrieve, update, or delete + delegations_post_request = '''sailpoint.nerm.v2025.DelegationsPostRequest()''' # DelegationsPostRequest | + + try: + # Update a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_id_patch(id=id, delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_id_patch(id, new_delegations_post_request) + print("The response of DelegationsApi->delegations_id_patch:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_id_patch: %s\n" % e) +``` + + + +[[Back to top]](#) + +## delegations-post +Create a delegation +Create a new delegation record. + +[API Spec](https://developer.sailpoint.com/docs/api/v2025/delegations-post) + +### Parameters + +Param Type | Name | Data Type | Required | Description +------------- | ------------- | ------------- | ------------- | ------------- + Body | delegations_post_request | [**DelegationsPostRequest**](../models/delegations-post-request) | True | + +### Return type +[**DelegationsPost201Response**](../models/delegations-post201-response) + +### Responses +Code | Description | Data Type | Response headers | +------------- | ------------- | ------------- |------------------| +201 | Expected response to a valid request | DelegationsPost201Response | - | +404 | Record Not Found | DelegationsPost404Response | - | +500 | Internal Server Error - returned on unhandled exceptions. | DelegationsGet500Response | - | + +### HTTP request headers + - **Content-Type**: application/json + - **Accept**: application/json + +### Example + +```python +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi +from sailpoint.nerm.v2025.api_client import ApiClient +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest +from sailpoint.configuration import Configuration +configuration = Configuration() + + +with ApiClient(configuration) as api_client: + delegations_post_request = '''sailpoint.nerm.v2025.DelegationsPostRequest()''' # DelegationsPostRequest | + + try: + # Create a delegation + new_delegations_post_request = DelegationsPostRequest.from_json(delegations_post_request) + results = DelegationsApi(api_client).delegations_post(delegations_post_request=new_delegations_post_request) + # Below is a request that includes all optional parameters + # results = DelegationsApi(api_client).delegations_post(new_delegations_post_request) + print("The response of DelegationsApi->delegations_post:\n") + print(results.model_dump_json(by_alias=True, indent=4)) + except Exception as e: + print("Exception when calling DelegationsApi->delegations_post: %s\n" % e) +``` + + + +[[Back to top]](#) + + + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegateUser.md b/sailpoint/nerm/v2025/docs/Models/DelegateUser.md new file mode 100644 index 000000000..ec60f8999 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegateUser.md @@ -0,0 +1,51 @@ +--- +id: delegate-user +title: DelegateUser +pagination_label: DelegateUser +sidebar_label: DelegateUser +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegateUser', 'DelegateUser'] +slug: /tools/sdk/python//models/delegate-user +tags: ['SDK', 'Software Development Kit', 'DelegateUser', 'DelegateUser'] +--- + +# DelegateUser + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the delegate user | [optional] +**uid** | **str** | The uid of the delegate user | [optional] +**type** | **str** | The type of the delegate user | [optional] +**name** | **str** | The name of the delegate user | [optional] +**email** | **str** | The email of the delegate user | [optional] +**status** | **str** | The status of the delegate user | [optional] +**login** | **str** | The login of the delegate user | [optional] +**last_login** | **datetime** | The last login timestamp of the delegate user | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegate_user import DelegateUser + +delegate_user = DelegateUser( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +type='NeprofileUser', +name='Jane Doe', +email='jane@example.com', +status='active', +login='jane.doe', +last_login='2024-06-01T12:34:56Z', +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/Delegation.md b/sailpoint/nerm/v2025/docs/Models/Delegation.md new file mode 100644 index 000000000..03103647b --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/Delegation.md @@ -0,0 +1,69 @@ +--- +id: delegation +title: Delegation +pagination_label: Delegation +sidebar_label: Delegation +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Delegation', 'Delegation'] +slug: /tools/sdk/python//models/delegation +tags: ['SDK', 'Software Development Kit', 'Delegation', 'Delegation'] +--- + +# Delegation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the delegation | [optional] +**delegator_id** | **object** | The id of the delegator user | [optional] +**delegate_id** | **object** | The id of the delegate user | [optional] +**delegator** | [**DelegatorUser**](delegator-user) | | [optional] +**delegate** | [**DelegateUser**](delegate-user) | | [optional] +**expiration** | **datetime** | The expiration date of the delegation | [optional] +**expired** | **bool** | Indicates if the delegation is expired | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegation import Delegation + +delegation = Delegation( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +delegator_id=12345678-1234-5678-1234-123456789012, +delegate_id=87654321-4321-6789-4321-210987654321, +delegator=sailpoint.nerm.v2025.models.delegator_user.DelegatorUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), +delegate=sailpoint.nerm.v2025.models.delegate_user.DelegateUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), +expiration='2023-10-01T12:00Z', +expired=False, +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/Delegation1.md b/sailpoint/nerm/v2025/docs/Models/Delegation1.md new file mode 100644 index 000000000..8991adf19 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/Delegation1.md @@ -0,0 +1,45 @@ +--- +id: delegation1 +title: Delegation1 +pagination_label: Delegation1 +sidebar_label: Delegation1 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Delegation1', 'Delegation1'] +slug: /tools/sdk/python//models/delegation1 +tags: ['SDK', 'Software Development Kit', 'Delegation1', 'Delegation1'] +--- + +# Delegation1 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the delegation | [optional] +**delegator_id** | **object** | The id of the delegator user | [optional] +**delegate_id** | **object** | The id of the delegate user | [optional] +**expiration** | **datetime** | The expiration date of the delegation | [optional] +**expired** | **bool** | Indicates if the delegation is expired | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegation1 import Delegation1 + +delegation1 = Delegation1( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +delegator_id=12345678-1234-5678-1234-123456789012, +delegate_id=87654321-4321-6789-4321-210987654321, +expiration='2023-10-01T12:00Z', +expired=False, +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/Delegation2.md b/sailpoint/nerm/v2025/docs/Models/Delegation2.md new file mode 100644 index 000000000..cc9928d8c --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/Delegation2.md @@ -0,0 +1,37 @@ +--- +id: delegation2 +title: Delegation2 +pagination_label: Delegation2 +sidebar_label: Delegation2 +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'Delegation2', 'Delegation2'] +slug: /tools/sdk/python//models/delegation2 +tags: ['SDK', 'Software Development Kit', 'Delegation2', 'Delegation2'] +--- + +# Delegation2 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegator_id** | **str** | The id of the delegator | [optional] +**delegate_id** | **str** | The id of the delegate | [optional] +**expiration** | **datetime** | The expiration date of the delegation | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegation2 import Delegation2 + +delegation2 = Delegation2( +delegator_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +delegate_id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +expiration='2023-10-01T12:00Z' +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegationsGet200Response.md b/sailpoint/nerm/v2025/docs/Models/DelegationsGet200Response.md new file mode 100644 index 000000000..a67e2e2f4 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegationsGet200Response.md @@ -0,0 +1,64 @@ +--- +id: delegations-get200-response +title: DelegationsGet200Response +pagination_label: DelegationsGet200Response +sidebar_label: DelegationsGet200Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsGet200Response', 'DelegationsGet200Response'] +slug: /tools/sdk/python//models/delegations-get200-response +tags: ['SDK', 'Software Development Kit', 'DelegationsGet200Response', 'DelegationsGet200Response'] +--- + +# DelegationsGet200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegations** | [**[]Delegation**](delegation) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response + +delegations_get200_response = DelegationsGet200Response( +delegations=[ + sailpoint.nerm.v2025.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + delegator = sailpoint.nerm.v2025.models.delegator_user.DelegatorUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + delegate = sailpoint.nerm.v2025.models.delegate_user.DelegateUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ] +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegationsGet500Response.md b/sailpoint/nerm/v2025/docs/Models/DelegationsGet500Response.md new file mode 100644 index 000000000..5b8b62f1e --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegationsGet500Response.md @@ -0,0 +1,33 @@ +--- +id: delegations-get500-response +title: DelegationsGet500Response +pagination_label: DelegationsGet500Response +sidebar_label: DelegationsGet500Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsGet500Response', 'DelegationsGet500Response'] +slug: /tools/sdk/python//models/delegations-get500-response +tags: ['SDK', 'Software Development Kit', 'DelegationsGet500Response', 'DelegationsGet500Response'] +--- + +# DelegationsGet500Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | A message describing the error | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegations_get500_response import DelegationsGet500Response + +delegations_get500_response = DelegationsGet500Response( +error=Sorry something went wrong +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegationsPost201Response.md b/sailpoint/nerm/v2025/docs/Models/DelegationsPost201Response.md new file mode 100644 index 000000000..e96a200ab --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegationsPost201Response.md @@ -0,0 +1,40 @@ +--- +id: delegations-post201-response +title: DelegationsPost201Response +pagination_label: DelegationsPost201Response +sidebar_label: DelegationsPost201Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPost201Response', 'DelegationsPost201Response'] +slug: /tools/sdk/python//models/delegations-post201-response +tags: ['SDK', 'Software Development Kit', 'DelegationsPost201Response', 'DelegationsPost201Response'] +--- + +# DelegationsPost201Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegation** | [**Delegation1**](delegation1) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response + +delegations_post201_response = DelegationsPost201Response( +delegation=sailpoint.nerm.v2025.models.delegation_1.Delegation_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegationsPost404Response.md b/sailpoint/nerm/v2025/docs/Models/DelegationsPost404Response.md new file mode 100644 index 000000000..964b584ca --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegationsPost404Response.md @@ -0,0 +1,33 @@ +--- +id: delegations-post404-response +title: DelegationsPost404Response +pagination_label: DelegationsPost404Response +sidebar_label: DelegationsPost404Response +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPost404Response', 'DelegationsPost404Response'] +slug: /tools/sdk/python//models/delegations-post404-response +tags: ['SDK', 'Software Development Kit', 'DelegationsPost404Response', 'DelegationsPost404Response'] +--- + +# DelegationsPost404Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **object** | The requested record, either ID or UID, was not found | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegations_post404_response import DelegationsPost404Response + +delegations_post404_response = DelegationsPost404Response( +error=The requested Profile was not found +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegationsPostRequest.md b/sailpoint/nerm/v2025/docs/Models/DelegationsPostRequest.md new file mode 100644 index 000000000..9ae3b0ff1 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegationsPostRequest.md @@ -0,0 +1,36 @@ +--- +id: delegations-post-request +title: DelegationsPostRequest +pagination_label: DelegationsPostRequest +sidebar_label: DelegationsPostRequest +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegationsPostRequest', 'DelegationsPostRequest'] +slug: /tools/sdk/python//models/delegations-post-request +tags: ['SDK', 'Software Development Kit', 'DelegationsPostRequest', 'DelegationsPostRequest'] +--- + +# DelegationsPostRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delegation** | [**Delegation2**](delegation2) | | [optional] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest + +delegations_post_request = DelegationsPostRequest( +delegation=sailpoint.nerm.v2025.models.delegation_2.Delegation_2( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z', ) +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/docs/Models/DelegatorUser.md b/sailpoint/nerm/v2025/docs/Models/DelegatorUser.md new file mode 100644 index 000000000..fc44cbc10 --- /dev/null +++ b/sailpoint/nerm/v2025/docs/Models/DelegatorUser.md @@ -0,0 +1,51 @@ +--- +id: delegator-user +title: DelegatorUser +pagination_label: DelegatorUser +sidebar_label: DelegatorUser +sidebar_class_name: pythonsdk +keywords: ['python', 'Python', 'sdk', 'DelegatorUser', 'DelegatorUser'] +slug: /tools/sdk/python//models/delegator-user +tags: ['SDK', 'Software Development Kit', 'DelegatorUser', 'DelegatorUser'] +--- + +# DelegatorUser + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The id of the delegator user | [optional] +**uid** | **str** | The uid of the delegator user | [optional] +**type** | **str** | The type of the delegator user | [optional] +**name** | **str** | The name of the delegator user | [optional] +**email** | **str** | The email of the delegator user | [optional] +**status** | **str** | The status of the delegator user | [optional] +**login** | **str** | The login of the delegator user | [optional] +**last_login** | **datetime** | The last login timestamp of the delegator user | [optional] +**created_at** | **datetime** | The date-time the record created. | [optional] [readonly] +**updated_at** | **datetime** | The date-time the record was last updated. | [optional] [readonly] +} + +## Example + +```python +from sailpoint.nerm.v2025.models.delegator_user import DelegatorUser + +delegator_user = DelegatorUser( +id='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +uid='ac4aae0b-4140-49a4-a84c-126762fd0c8f', +type='NeprofileUser', +name='Jane Doe', +email='jane@example.com', +status='active', +login='jane.doe', +last_login='2024-06-01T12:34:56Z', +created_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), +updated_at=datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') +) + +``` +[[Back to top]](#) + diff --git a/sailpoint/nerm/v2025/exceptions.py b/sailpoint/nerm/v2025/exceptions.py new file mode 100644 index 000000000..1f1abb68b --- /dev/null +++ b/sailpoint/nerm/v2025/exceptions.py @@ -0,0 +1,216 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.getheaders() + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.body) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.data or self.body: + error_message += "HTTP response body: {0}\n".format(self.data or self.body) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/sailpoint/nerm/v2025/models/__init__.py b/sailpoint/nerm/v2025/models/__init__.py new file mode 100644 index 000000000..20e4e8501 --- /dev/null +++ b/sailpoint/nerm/v2025/models/__init__.py @@ -0,0 +1,26 @@ +# coding: utf-8 + +# flake8: noqa +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from sailpoint.nerm.v2025.models.delegate_user import DelegateUser +from sailpoint.nerm.v2025.models.delegation import Delegation +from sailpoint.nerm.v2025.models.delegation1 import Delegation1 +from sailpoint.nerm.v2025.models.delegation2 import Delegation2 +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response +from sailpoint.nerm.v2025.models.delegations_get500_response import DelegationsGet500Response +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response +from sailpoint.nerm.v2025.models.delegations_post404_response import DelegationsPost404Response +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest +from sailpoint.nerm.v2025.models.delegator_user import DelegatorUser diff --git a/sailpoint/nerm/v2025/models/delegate_user.py b/sailpoint/nerm/v2025/models/delegate_user.py new file mode 100644 index 000000000..6d39a520c --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegate_user.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegateUser(BaseModel): + """ + DelegateUser + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the delegate user") + uid: Optional[StrictStr] = Field(default=None, description="The uid of the delegate user") + type: Optional[StrictStr] = Field(default=None, description="The type of the delegate user") + name: Optional[StrictStr] = Field(default=None, description="The name of the delegate user") + email: Optional[StrictStr] = Field(default=None, description="The email of the delegate user") + status: Optional[StrictStr] = Field(default=None, description="The status of the delegate user") + login: Optional[StrictStr] = Field(default=None, description="The login of the delegate user") + last_login: Optional[datetime] = Field(default=None, description="The last login timestamp of the delegate user") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "uid", "type", "name", "email", "status", "login", "last_login", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegateUser from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegateUser from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "name": obj.get("name"), + "email": obj.get("email"), + "status": obj.get("status"), + "login": obj.get("login"), + "last_login": obj.get("last_login"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegation.py b/sailpoint/nerm/v2025/models/delegation.py new file mode 100644 index 000000000..3192d0904 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegation.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.v2025.models.delegate_user import DelegateUser +from sailpoint.nerm.v2025.models.delegator_user import DelegatorUser +from typing import Optional, Set +from typing_extensions import Self + +class Delegation(BaseModel): + """ + Delegation + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the delegation") + delegator_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegator user") + delegate_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegate user") + delegator: Optional[DelegatorUser] = None + delegate: Optional[DelegateUser] = None + expiration: Optional[datetime] = Field(default=None, description="The expiration date of the delegation") + expired: Optional[StrictBool] = Field(default=None, description="Indicates if the delegation is expired") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "delegator_id", "delegate_id", "delegator", "delegate", "expiration", "expired", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Delegation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of delegator + if self.delegator: + _dict['delegator'] = self.delegator.to_dict() + # override the default output from pydantic by calling `to_dict()` of delegate + if self.delegate: + _dict['delegate'] = self.delegate.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Delegation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "delegator_id": obj.get("delegator_id"), + "delegate_id": obj.get("delegate_id"), + "delegator": DelegatorUser.from_dict(obj["delegator"]) if obj.get("delegator") is not None else None, + "delegate": DelegateUser.from_dict(obj["delegate"]) if obj.get("delegate") is not None else None, + "expiration": obj.get("expiration"), + "expired": obj.get("expired"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegation1.py b/sailpoint/nerm/v2025/models/delegation1.py new file mode 100644 index 000000000..2a62d90f0 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegation1.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Delegation1(BaseModel): + """ + Delegation1 + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the delegation") + delegator_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegator user") + delegate_id: Optional[Dict[str, Any]] = Field(default=None, description="The id of the delegate user") + expiration: Optional[datetime] = Field(default=None, description="The expiration date of the delegation") + expired: Optional[StrictBool] = Field(default=None, description="Indicates if the delegation is expired") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "delegator_id", "delegate_id", "expiration", "expired", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Delegation1 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Delegation1 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "delegator_id": obj.get("delegator_id"), + "delegate_id": obj.get("delegate_id"), + "expiration": obj.get("expiration"), + "expired": obj.get("expired"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegation2.py b/sailpoint/nerm/v2025/models/delegation2.py new file mode 100644 index 000000000..408148284 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegation2.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Delegation2(BaseModel): + """ + Delegation2 + """ # noqa: E501 + delegator_id: Optional[StrictStr] = Field(default=None, description="The id of the delegator") + delegate_id: Optional[StrictStr] = Field(default=None, description="The id of the delegate") + expiration: Optional[datetime] = Field(default=None, description="The expiration date of the delegation") + __properties: ClassVar[List[str]] = ["delegator_id", "delegate_id", "expiration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Delegation2 from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Delegation2 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegator_id": obj.get("delegator_id"), + "delegate_id": obj.get("delegate_id"), + "expiration": obj.get("expiration") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegations_get200_response.py b/sailpoint/nerm/v2025/models/delegations_get200_response.py new file mode 100644 index 000000000..d8e79b5b0 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegations_get200_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from sailpoint.nerm.v2025.models.delegation import Delegation +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsGet200Response(BaseModel): + """ + DelegationsGet200Response + """ # noqa: E501 + delegations: Optional[List[Delegation]] = None + __properties: ClassVar[List[str]] = ["delegations"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsGet200Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in delegations (list) + _items = [] + if self.delegations: + for _item_delegations in self.delegations: + if _item_delegations: + _items.append(_item_delegations.to_dict()) + _dict['delegations'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsGet200Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegations": [Delegation.from_dict(_item) for _item in obj["delegations"]] if obj.get("delegations") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegations_get500_response.py b/sailpoint/nerm/v2025/models/delegations_get500_response.py new file mode 100644 index 000000000..88d9434aa --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegations_get500_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsGet500Response(BaseModel): + """ + DelegationsGet500Response + """ # noqa: E501 + error: Optional[Dict[str, Any]] = Field(default=None, description="A message describing the error") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsGet500Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsGet500Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegations_post201_response.py b/sailpoint/nerm/v2025/models/delegations_post201_response.py new file mode 100644 index 000000000..fdb4e347b --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegations_post201_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPost201Response(BaseModel): + """ + DelegationsPost201Response + """ # noqa: E501 + delegation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["delegation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPost201Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of delegation + if self.delegation: + _dict['delegation'] = self.delegation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPost201Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegation": Delegation1.from_dict(obj["delegation"]) if obj.get("delegation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegations_post404_response.py b/sailpoint/nerm/v2025/models/delegations_post404_response.py new file mode 100644 index 000000000..9e0341ce2 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegations_post404_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPost404Response(BaseModel): + """ + DelegationsPost404Response + """ # noqa: E501 + error: Optional[Dict[str, Any]] = Field(default=None, description="The requested record, either ID or UID, was not found") + __properties: ClassVar[List[str]] = ["error"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPost404Response from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPost404Response from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegations_post_request.py b/sailpoint/nerm/v2025/models/delegations_post_request.py new file mode 100644 index 000000000..dba0f641f --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegations_post_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegationsPostRequest(BaseModel): + """ + DelegationsPostRequest + """ # noqa: E501 + delegation: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["delegation"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegationsPostRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of delegation + if self.delegation: + _dict['delegation'] = self.delegation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegationsPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delegation": Delegation2.from_dict(obj["delegation"]) if obj.get("delegation") is not None else None + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/models/delegator_user.py b/sailpoint/nerm/v2025/models/delegator_user.py new file mode 100644 index 000000000..2287aab25 --- /dev/null +++ b/sailpoint/nerm/v2025/models/delegator_user.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json +import warnings + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DelegatorUser(BaseModel): + """ + DelegatorUser + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The id of the delegator user") + uid: Optional[StrictStr] = Field(default=None, description="The uid of the delegator user") + type: Optional[StrictStr] = Field(default=None, description="The type of the delegator user") + name: Optional[StrictStr] = Field(default=None, description="The name of the delegator user") + email: Optional[StrictStr] = Field(default=None, description="The email of the delegator user") + status: Optional[StrictStr] = Field(default=None, description="The status of the delegator user") + login: Optional[StrictStr] = Field(default=None, description="The login of the delegator user") + last_login: Optional[datetime] = Field(default=None, description="The last login timestamp of the delegator user") + created_at: Optional[datetime] = Field(default=None, description="The date-time the record created.") + updated_at: Optional[datetime] = Field(default=None, description="The date-time the record was last updated.") + __properties: ClassVar[List[str]] = ["id", "uid", "type", "name", "email", "status", "login", "last_login", "created_at", "updated_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DelegatorUser from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_at", + "updated_at", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DelegatorUser from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "uid": obj.get("uid"), + "type": obj.get("type"), + "name": obj.get("name"), + "email": obj.get("email"), + "status": obj.get("status"), + "login": obj.get("login"), + "last_login": obj.get("last_login"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/sailpoint/nerm/v2025/rest.py b/sailpoint/nerm/v2025/rest.py new file mode 100644 index 000000000..ba426961f --- /dev/null +++ b/sailpoint/nerm/v2025/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import io +import json +import re +import ssl + +import urllib3 + +from sailpoint.nerm.v2025.exceptions import ApiException, ApiValueError + +SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"} +RESTResponseType = urllib3.HTTPResponse + + +def is_socks_proxy_url(url): + if url is None: + return False + split_section = url.split("://") + if len(split_section) < 2: + return False + else: + return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES + + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status + self.reason = resp.reason + self.data = None + + def read(self): + if self.data is None: + self.data = self.response.data + return self.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + pool_args = { + "cert_reqs": cert_reqs, + "ca_certs": configuration.ssl_ca_cert, + "cert_file": configuration.cert_file, + "key_file": configuration.key_file, + } + if configuration.assert_hostname is not None: + pool_args['assert_hostname'] = ( + configuration.assert_hostname + ) + + if configuration.retries is not None: + pool_args['retries'] = configuration.retries + + if configuration.tls_server_name: + pool_args['server_hostname'] = configuration.tls_server_name + + + if configuration.socket_options is not None: + pool_args['socket_options'] = configuration.socket_options + + if configuration.connection_pool_maxsize is not None: + pool_args['maxsize'] = configuration.connection_pool_maxsize + + # https pool manager + self.pool_manager: urllib3.PoolManager + + if configuration.proxy: + if is_socks_proxy_url(configuration.proxy): + from urllib3.contrib.socks import SOCKSProxyManager + pool_args["proxy_url"] = configuration.proxy + pool_args["headers"] = configuration.proxy_headers + self.pool_manager = SOCKSProxyManager(**pool_args) + else: + pool_args["proxy_url"] = configuration.proxy + pool_args["proxy_headers"] = configuration.proxy_headers + self.pool_manager = urllib3.ProxyManager(**pool_args) + else: + self.pool_manager = urllib3.PoolManager(**pool_args) + + def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None + ): + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, float)): + timeout = urllib3.Timeout(total=_request_timeout) + elif ( + isinstance(_request_timeout, tuple) + and len(_request_timeout) == 2 + ): + timeout = urllib3.Timeout( + connect=_request_timeout[0], + read=_request_timeout[1] + ) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + + # no content type provided or payload is json + content_type = headers.get('Content-Type') + if ( + not content_type + or re.search('json', content_type, re.IGNORECASE) + ): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, + url, + body=request_body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=False, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + # Ensures that dict objects are serialized + post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params] + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=True, + timeout=timeout, + headers=headers, + preload_content=False + ) + # Pass a `string` parameter directly in the body to support + # other content types than JSON when `body` argument is + # provided in serialized form. + elif isinstance(body, str) or isinstance(body, bytes): + r = self.pool_manager.request( + method, + url, + body=body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif headers['Content-Type'].startswith('text/') and isinstance(body, bool): + request_body = "true" if body else "false" + r = self.pool_manager.request( + method, + url, + body=request_body, + preload_content=False, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request( + method, + url, + fields={}, + timeout=timeout, + headers=headers, + preload_content=False + ) + except urllib3.exceptions.SSLError as e: + msg = "\n".join([type(e).__name__, str(e)]) + raise ApiException(status=0, reason=msg) + + return RESTResponse(r) diff --git a/sailpoint/nerm/v2025/test/__init__.py b/sailpoint/nerm/v2025/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sailpoint/nerm/v2025/test/test_delegate_user.py b/sailpoint/nerm/v2025/test/test_delegate_user.py new file mode 100644 index 000000000..c646eb388 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegate_user.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegate_user import DelegateUser + +class TestDelegateUser(unittest.TestCase): + """DelegateUser unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegateUser: + """Test DelegateUser + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegateUser` + """ + model = DelegateUser() + if include_optional: + return DelegateUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return DelegateUser( + ) + """ + + def testDelegateUser(self): + """Test DelegateUser""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegation.py b/sailpoint/nerm/v2025/test/test_delegation.py new file mode 100644 index 000000000..33420b448 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegation.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegation import Delegation + +class TestDelegation(unittest.TestCase): + """Delegation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Delegation: + """Test Delegation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Delegation` + """ + model = Delegation() + if include_optional: + return Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + delegator = sailpoint.nerm.v2025.models.delegator_user.DelegatorUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + delegate = sailpoint.nerm.v2025.models.delegate_user.DelegateUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Delegation( + ) + """ + + def testDelegation(self): + """Test Delegation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegation1.py b/sailpoint/nerm/v2025/test/test_delegation1.py new file mode 100644 index 000000000..4437c755b --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegation1.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegation1 import Delegation1 + +class TestDelegation1(unittest.TestCase): + """Delegation1 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Delegation1: + """Test Delegation1 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Delegation1` + """ + model = Delegation1() + if include_optional: + return Delegation1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Delegation1( + ) + """ + + def testDelegation1(self): + """Test Delegation1""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegation2.py b/sailpoint/nerm/v2025/test/test_delegation2.py new file mode 100644 index 000000000..736cbc509 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegation2.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegation2 import Delegation2 + +class TestDelegation2(unittest.TestCase): + """Delegation2 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Delegation2: + """Test Delegation2 + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Delegation2` + """ + model = Delegation2() + if include_optional: + return Delegation2( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z' + ) + else: + return Delegation2( + ) + """ + + def testDelegation2(self): + """Test Delegation2""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_api.py b/sailpoint/nerm/v2025/test/test_delegations_api.py new file mode 100644 index 000000000..462530559 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.api.delegations_api import DelegationsApi + + +class TestDelegationsApi(unittest.TestCase): + """DelegationsApi unit test stubs""" + + def setUp(self) -> None: + self.api = DelegationsApi() + + def tearDown(self) -> None: + pass + + def test_delegations_get(self) -> None: + """Test case for delegations_get + + List delegations + """ + pass + + def test_delegations_id_delete(self) -> None: + """Test case for delegations_id_delete + + Delete a delegation + """ + pass + + def test_delegations_id_get(self) -> None: + """Test case for delegations_id_get + + Get a single delegation + """ + pass + + def test_delegations_id_patch(self) -> None: + """Test case for delegations_id_patch + + Update a delegation + """ + pass + + def test_delegations_post(self) -> None: + """Test case for delegations_post + + Create a delegation + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_get200_response.py b/sailpoint/nerm/v2025/test/test_delegations_get200_response.py new file mode 100644 index 000000000..5d27fccd1 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_get200_response.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegations_get200_response import DelegationsGet200Response + +class TestDelegationsGet200Response(unittest.TestCase): + """DelegationsGet200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsGet200Response: + """Test DelegationsGet200Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsGet200Response` + """ + model = DelegationsGet200Response() + if include_optional: + return DelegationsGet200Response( + delegations = [ + sailpoint.nerm.v2025.models.delegation.Delegation( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + delegator = sailpoint.nerm.v2025.models.delegator_user.DelegatorUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + delegate = sailpoint.nerm.v2025.models.delegate_user.DelegateUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ] + ) + else: + return DelegationsGet200Response( + ) + """ + + def testDelegationsGet200Response(self): + """Test DelegationsGet200Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_get500_response.py b/sailpoint/nerm/v2025/test/test_delegations_get500_response.py new file mode 100644 index 000000000..4f1186193 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_get500_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegations_get500_response import DelegationsGet500Response + +class TestDelegationsGet500Response(unittest.TestCase): + """DelegationsGet500Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsGet500Response: + """Test DelegationsGet500Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsGet500Response` + """ + model = DelegationsGet500Response() + if include_optional: + return DelegationsGet500Response( + error = Sorry something went wrong + ) + else: + return DelegationsGet500Response( + ) + """ + + def testDelegationsGet500Response(self): + """Test DelegationsGet500Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_post201_response.py b/sailpoint/nerm/v2025/test/test_delegations_post201_response.py new file mode 100644 index 000000000..956304541 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_post201_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegations_post201_response import DelegationsPost201Response + +class TestDelegationsPost201Response(unittest.TestCase): + """DelegationsPost201Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPost201Response: + """Test DelegationsPost201Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPost201Response` + """ + model = DelegationsPost201Response() + if include_optional: + return DelegationsPost201Response( + delegation = sailpoint.nerm.v2025.models.delegation_1.Delegation_1( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegator_id = 12345678-1234-5678-1234-123456789012, + delegate_id = 87654321-4321-6789-4321-210987654321, + expiration = '2023-10-01T12:00Z', + expired = False, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return DelegationsPost201Response( + ) + """ + + def testDelegationsPost201Response(self): + """Test DelegationsPost201Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_post404_response.py b/sailpoint/nerm/v2025/test/test_delegations_post404_response.py new file mode 100644 index 000000000..a14182232 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_post404_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegations_post404_response import DelegationsPost404Response + +class TestDelegationsPost404Response(unittest.TestCase): + """DelegationsPost404Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPost404Response: + """Test DelegationsPost404Response + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPost404Response` + """ + model = DelegationsPost404Response() + if include_optional: + return DelegationsPost404Response( + error = The requested Profile was not found + ) + else: + return DelegationsPost404Response( + ) + """ + + def testDelegationsPost404Response(self): + """Test DelegationsPost404Response""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegations_post_request.py b/sailpoint/nerm/v2025/test/test_delegations_post_request.py new file mode 100644 index 000000000..9c4956e88 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegations_post_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegations_post_request import DelegationsPostRequest + +class TestDelegationsPostRequest(unittest.TestCase): + """DelegationsPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegationsPostRequest: + """Test DelegationsPostRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegationsPostRequest` + """ + model = DelegationsPostRequest() + if include_optional: + return DelegationsPostRequest( + delegation = sailpoint.nerm.v2025.models.delegation_2.Delegation_2( + delegator_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + delegate_id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + expiration = '2023-10-01T12:00Z', ) + ) + else: + return DelegationsPostRequest( + ) + """ + + def testDelegationsPostRequest(self): + """Test DelegationsPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025/test/test_delegator_user.py b/sailpoint/nerm/v2025/test/test_delegator_user.py new file mode 100644 index 000000000..a50d071c2 --- /dev/null +++ b/sailpoint/nerm/v2025/test/test_delegator_user.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + NERM API v2025 + + The NERM API v2025 accesss and modifies resources in your environment. + + The version of the OpenAPI document: 1.0.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from sailpoint.nerm.v2025.models.delegator_user import DelegatorUser + +class TestDelegatorUser(unittest.TestCase): + """DelegatorUser unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DelegatorUser: + """Test DelegatorUser + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DelegatorUser` + """ + model = DelegatorUser() + if include_optional: + return DelegatorUser( + id = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + uid = 'ac4aae0b-4140-49a4-a84c-126762fd0c8f', + type = 'NeprofileUser', + name = 'Jane Doe', + email = 'jane@example.com', + status = 'active', + login = 'jane.doe', + last_login = '2024-06-01T12:34:56Z', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return DelegatorUser( + ) + """ + + def testDelegatorUser(self): + """Test DelegatorUser""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/sailpoint/nerm/v2025_README.md b/sailpoint/nerm/v2025_README.md new file mode 100644 index 000000000..680093cb3 --- /dev/null +++ b/sailpoint/nerm/v2025_README.md @@ -0,0 +1,103 @@ +# sailpoint.nerm.v2025 +The NERM API v2025 accesss and modifies resources in your environment. + +The `sailpoint.nerm.v2025` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 1.0.0 +- Package version: 1.4.1 +- Generator version: 7.12.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.8+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 1.25.3, < 3.0.0 +* python-dateutil >= 2.8.2 +* pydantic >= 2 +* typing-extensions >= 4.7.1 + +## Getting Started + +In your own code, to use this library to connect and interact with sailpoint.nerm.v2025, +you can run the following: + +```python + +import sailpoint.nerm.v2025 +from sailpoint.nerm.v2025.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://acmeco.nonemployee.com/api/v2025 +# See configuration.py for a list of all supported configuration parameters. +configuration = sailpoint.nerm.v2025.Configuration( + host = "https://acmeco.nonemployee.com/api/v2025" +) + + + +# Enter a context with an instance of the API client +with sailpoint.nerm.v2025.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = sailpoint.nerm.v2025.DelegationsApi(api_client) + delegate_id = 'false' # str | Filter by delegate ID (optional) (default to 'false') + delegator_id = 'false' # str | Filter by delegator ID (optional) (default to 'false') + expired = False # bool | Filter by expiration status (true for expired, false for not expired) (optional) (default to False) + limit = 5 # int | The maximum number of items to return. (optional) + offset = 5 # int | The number of items to skip before starting to collect the result set. (optional) + include = '' # str | Include related resources body. For example, 'include=delegator,delegate'. (optional) (default to '') + + try: + # List delegations + api_response = api_instance.delegations_get(delegate_id=delegate_id, delegator_id=delegator_id, expired=expired, limit=limit, offset=offset, include=include) + print("The response of DelegationsApi->delegations_get:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling DelegationsApi->delegations_get: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://acmeco.nonemployee.com/api/v2025* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*DelegationsApi* | [**delegations_get**](sailpoint/nerm/v2025/docs/DelegationsApi.md#delegations_get) | **GET** /delegations | List delegations +*DelegationsApi* | [**delegations_id_delete**](sailpoint/nerm/v2025/docs/DelegationsApi.md#delegations_id_delete) | **DELETE** /delegations/{id} | Delete a delegation +*DelegationsApi* | [**delegations_id_get**](sailpoint/nerm/v2025/docs/DelegationsApi.md#delegations_id_get) | **GET** /delegations/{id} | Get a single delegation +*DelegationsApi* | [**delegations_id_patch**](sailpoint/nerm/v2025/docs/DelegationsApi.md#delegations_id_patch) | **PATCH** /delegations/{id} | Update a delegation +*DelegationsApi* | [**delegations_post**](sailpoint/nerm/v2025/docs/DelegationsApi.md#delegations_post) | **POST** /delegations | Create a delegation + + +## Documentation For Models + + - [DelegateUser](sailpoint/nerm/v2025/docs/DelegateUser.md) + - [Delegation](sailpoint/nerm/v2025/docs/Delegation.md) + - [Delegation1](sailpoint/nerm/v2025/docs/Delegation1.md) + - [Delegation2](sailpoint/nerm/v2025/docs/Delegation2.md) + - [DelegationsGet200Response](sailpoint/nerm/v2025/docs/DelegationsGet200Response.md) + - [DelegationsGet500Response](sailpoint/nerm/v2025/docs/DelegationsGet500Response.md) + - [DelegationsPost201Response](sailpoint/nerm/v2025/docs/DelegationsPost201Response.md) + - [DelegationsPost404Response](sailpoint/nerm/v2025/docs/DelegationsPost404Response.md) + - [DelegationsPostRequest](sailpoint/nerm/v2025/docs/DelegationsPostRequest.md) + - [DelegatorUser](sailpoint/nerm/v2025/docs/DelegatorUser.md) + + + +## Documentation For Authorization + +Endpoints do not require authorization. + + +## Author + + + + diff --git a/sailpoint/nerm_README.md b/sailpoint/nerm_README.md new file mode 100644 index 000000000..0ceef83ab --- /dev/null +++ b/sailpoint/nerm_README.md @@ -0,0 +1,585 @@ +# sailpoint.nerm +The NERM API accesss and modifies resources in your environment. + +The `sailpoint.nerm` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 1.0.0 +- Package version: 1.4.1 +- Generator version: 7.12.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.8+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 1.25.3, < 3.0.0 +* python-dateutil >= 2.8.2 +* pydantic >= 2 +* typing-extensions >= 4.7.1 + +## Getting Started + +In your own code, to use this library to connect and interact with sailpoint.nerm, +you can run the following: + +```python + +import sailpoint.nerm +from sailpoint.nerm.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://acmeco.nonemployee.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = sailpoint.nerm.Configuration( + host = "https://acmeco.nonemployee.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + + +# Enter a context with an instance of the API client +with sailpoint.nerm.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = sailpoint.nerm.AdvancedSearchApi(api_client) + + try: + # Get saved advanced search queries + api_response = api_instance.get_advanced_search() + print("The response of AdvancedSearchApi->get_advanced_search:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling AdvancedSearchApi->get_advanced_search: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://acmeco.nonemployee.com/api* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*AdvancedSearchApi* | [**get_advanced_search**](sailpoint/nerm/docs/AdvancedSearchApi.md#get_advanced_search) | **GET** /advanced_search | Get saved advanced search queries +*AdvancedSearchApi* | [**patch_advanced_search**](sailpoint/nerm/docs/AdvancedSearchApi.md#patch_advanced_search) | **PATCH** /advanced_search/{id} | Update a saved advanced search +*AdvancedSearchApi* | [**search_advanced_search**](sailpoint/nerm/docs/AdvancedSearchApi.md#search_advanced_search) | **POST** /advanced_search/run | Run profiles advanced search +*AdvancedSearchApi* | [**search_advanced_searchby_id**](sailpoint/nerm/docs/AdvancedSearchApi.md#search_advanced_searchby_id) | **GET** /advanced_search/{id}/run | Run a saved advanced search +*AdvancedSearchApi* | [**submit_advanced_search**](sailpoint/nerm/docs/AdvancedSearchApi.md#submit_advanced_search) | **POST** /advanced_search | Save an advanced search query +*AttributeOptionsApi* | [**delete_attribute_option_by_id**](sailpoint/nerm/docs/AttributeOptionsApi.md#delete_attribute_option_by_id) | **DELETE** /ne_attribute_options/{id} | Delete option based attribute value +*AttributeOptionsApi* | [**delete_attribute_option_by_uid**](sailpoint/nerm/docs/AttributeOptionsApi.md#delete_attribute_option_by_uid) | **DELETE** /ne_attribute_options/{uid} | Delete option value +*AttributeOptionsApi* | [**get_attribute_option_by_id**](sailpoint/nerm/docs/AttributeOptionsApi.md#get_attribute_option_by_id) | **GET** /ne_attribute_options/{id} | Find option based attribute value +*AttributeOptionsApi* | [**get_attribute_option_by_uid**](sailpoint/nerm/docs/AttributeOptionsApi.md#get_attribute_option_by_uid) | **GET** /ne_attribute_options/{uid} | Find option attribute value +*AttributeOptionsApi* | [**get_attribute_options**](sailpoint/nerm/docs/AttributeOptionsApi.md#get_attribute_options) | **GET** /ne_attribute_options | Get option based attribute values +*AttributeOptionsApi* | [**patch_attribute_option_by_id**](sailpoint/nerm/docs/AttributeOptionsApi.md#patch_attribute_option_by_id) | **PATCH** /ne_attribute_options/{id} | Update option based attribute value +*AttributeOptionsApi* | [**patch_attribute_option_by_uid**](sailpoint/nerm/docs/AttributeOptionsApi.md#patch_attribute_option_by_uid) | **PATCH** /ne_attribute_options/{uid} | Update option value +*AttributeOptionsApi* | [**patch_attribute_options**](sailpoint/nerm/docs/AttributeOptionsApi.md#patch_attribute_options) | **PATCH** /ne_attribute_options | Update multiple option values +*AttributeOptionsApi* | [**submit_attribute_option**](sailpoint/nerm/docs/AttributeOptionsApi.md#submit_attribute_option) | **POST** /ne_attribute_option | Add value to option +*AttributeOptionsApi* | [**submit_attribute_options**](sailpoint/nerm/docs/AttributeOptionsApi.md#submit_attribute_options) | **POST** /ne_attribute_options | Create multiple option values +*AttributesApi* | [**create_attribute**](sailpoint/nerm/docs/AttributesApi.md#create_attribute) | **POST** /ne_attributes | Create an attribute +*AttributesApi* | [**delete_attribute_by_id**](sailpoint/nerm/docs/AttributesApi.md#delete_attribute_by_id) | **DELETE** /ne_attributes/{id} | Delete attribute by id +*AttributesApi* | [**delete_attribute_by_uid**](sailpoint/nerm/docs/AttributesApi.md#delete_attribute_by_uid) | **DELETE** /ne_attributes/{uid} | Delete attribute +*AttributesApi* | [**get_attribute_by_id**](sailpoint/nerm/docs/AttributesApi.md#get_attribute_by_id) | **GET** /ne_attributes/{id} | Find attribute data by id +*AttributesApi* | [**get_attribute_by_uid**](sailpoint/nerm/docs/AttributesApi.md#get_attribute_by_uid) | **GET** /ne_attributes/{uid} | Find attribute data +*AttributesApi* | [**get_attributes**](sailpoint/nerm/docs/AttributesApi.md#get_attributes) | **GET** /ne_attributes | Get attribute data in bulk +*AttributesApi* | [**update_attribute_by_id**](sailpoint/nerm/docs/AttributesApi.md#update_attribute_by_id) | **PATCH** /ne_attributes/{id} | Update attribute data by id +*AttributesApi* | [**update_attribute_by_uid**](sailpoint/nerm/docs/AttributesApi.md#update_attribute_by_uid) | **PATCH** /ne_attributes/{uid} | Update attribute data +*AuditsApi* | [**search**](sailpoint/nerm/docs/AuditsApi.md#search) | **POST** /audit_events/query | Query for Audit events +*ConsolidationApi* | [**delete_master_record**](sailpoint/nerm/docs/ConsolidationApi.md#delete_master_record) | **DELETE** /idproxy/identities/{id} | Delete a master record +*ConsolidationApi* | [**patch_data_record**](sailpoint/nerm/docs/ConsolidationApi.md#patch_data_record) | **PATCH** /idproxy/data_records/{id}/reassign | Reassign data record +*DelegationsApi* | [**delegations_get**](sailpoint/nerm/docs/DelegationsApi.md#delegations_get) | **GET** /delegations | List delegations +*DelegationsApi* | [**delegations_id_delete**](sailpoint/nerm/docs/DelegationsApi.md#delegations_id_delete) | **DELETE** /delegations/{id} | Delete a delegation +*DelegationsApi* | [**delegations_id_get**](sailpoint/nerm/docs/DelegationsApi.md#delegations_id_get) | **GET** /delegations/{id} | Get a single delegation +*DelegationsApi* | [**delegations_id_patch**](sailpoint/nerm/docs/DelegationsApi.md#delegations_id_patch) | **PATCH** /delegations/{id} | Update a delegation +*DelegationsApi* | [**delegations_post**](sailpoint/nerm/docs/DelegationsApi.md#delegations_post) | **POST** /delegations | Create a delegation +*FormAttributesApi* | [**create_form_attribute**](sailpoint/nerm/docs/FormAttributesApi.md#create_form_attribute) | **POST** /form_attributes | Create a form attribute +*FormAttributesApi* | [**delete_form_attribute_by_id**](sailpoint/nerm/docs/FormAttributesApi.md#delete_form_attribute_by_id) | **DELETE** /form_attributes/{id} | Delete form attribute +*FormAttributesApi* | [**delete_form_attribute_by_uid**](sailpoint/nerm/docs/FormAttributesApi.md#delete_form_attribute_by_uid) | **DELETE** /form_attributes/{uid} | Delete form attribute +*FormAttributesApi* | [**get_form_attribute_by_id**](sailpoint/nerm/docs/FormAttributesApi.md#get_form_attribute_by_id) | **GET** /form_attributes/{id} | Get form attribute data +*FormAttributesApi* | [**get_form_attribute_by_uid**](sailpoint/nerm/docs/FormAttributesApi.md#get_form_attribute_by_uid) | **GET** /form_attributes/{uid} | Get form attribute data +*FormAttributesApi* | [**get_form_attributes**](sailpoint/nerm/docs/FormAttributesApi.md#get_form_attributes) | **GET** /form_attributes | Get form attributes +*FormAttributesApi* | [**update_form_attribute_by_id**](sailpoint/nerm/docs/FormAttributesApi.md#update_form_attribute_by_id) | **PATCH** /form_attributes/{id} | Update form attribute data +*FormAttributesApi* | [**update_form_attribute_by_uid**](sailpoint/nerm/docs/FormAttributesApi.md#update_form_attribute_by_uid) | **PATCH** /form_attributes/{uid} | Update form attribute data +*FormsApi* | [**create_form**](sailpoint/nerm/docs/FormsApi.md#create_form) | **POST** /forms | Create a form +*FormsApi* | [**delete_form_by_id**](sailpoint/nerm/docs/FormsApi.md#delete_form_by_id) | **DELETE** /forms/{id} | Delete form by id +*FormsApi* | [**delete_form_by_uid**](sailpoint/nerm/docs/FormsApi.md#delete_form_by_uid) | **DELETE** /forms/{uid} | Delete form by UID +*FormsApi* | [**get_form_by_id**](sailpoint/nerm/docs/FormsApi.md#get_form_by_id) | **GET** /forms/{id} | Get form data by Id +*FormsApi* | [**get_form_by_uid**](sailpoint/nerm/docs/FormsApi.md#get_form_by_uid) | **GET** /forms/{uid} | Get form data by UID +*FormsApi* | [**get_forms**](sailpoint/nerm/docs/FormsApi.md#get_forms) | **GET** /forms | Get forms +*FormsApi* | [**update_form_by_id**](sailpoint/nerm/docs/FormsApi.md#update_form_by_id) | **PATCH** /forms/{id} | Update form data by id +*FormsApi* | [**update_form_by_uid**](sailpoint/nerm/docs/FormsApi.md#update_form_by_uid) | **PATCH** /forms/{uid} | Update form data by UID +*IdentityProofingResultsApi* | [**get_identity_proofing_results**](sailpoint/nerm/docs/IdentityProofingResultsApi.md#get_identity_proofing_results) | **GET** /identity_proofing_results | Get identity proofing result data +*IscAccountsApi* | [**get_schema_mapped_profiles_collection**](sailpoint/nerm/docs/IscAccountsApi.md#get_schema_mapped_profiles_collection) | **GET** /isc/accounts | Get Profiles +*IscAccountsApi* | [**get_single_schema_mapped_profile**](sailpoint/nerm/docs/IscAccountsApi.md#get_single_schema_mapped_profile) | **GET** /isc/accounts/{id} | Get Profile +*IscAccountsApi* | [**update_profile**](sailpoint/nerm/docs/IscAccountsApi.md#update_profile) | **PATCH** /isc/accounts/{id} | Update Profile +*JobStatusApi* | [**get_job_status**](sailpoint/nerm/docs/JobStatusApi.md#get_job_status) | **GET** /job_status | Get bulk job status +*LanguagesApi* | [**patch_language**](sailpoint/nerm/docs/LanguagesApi.md#patch_language) | **PATCH** /languages/{locale} | Update a language by locale +*PageContentTranslationsApi* | [**create_page_content_translation**](sailpoint/nerm/docs/PageContentTranslationsApi.md#create_page_content_translation) | **POST** /page_content_translations | Create page content translation +*PageContentTranslationsApi* | [**delete_page_content_translation_by_id**](sailpoint/nerm/docs/PageContentTranslationsApi.md#delete_page_content_translation_by_id) | **DELETE** /page_content_translations/{id} | Delete page content translation +*PageContentTranslationsApi* | [**delete_page_content_translation_by_uid**](sailpoint/nerm/docs/PageContentTranslationsApi.md#delete_page_content_translation_by_uid) | **DELETE** /page_content_translations/{uid} | Delete page content translation +*PageContentTranslationsApi* | [**get_page_content_translation**](sailpoint/nerm/docs/PageContentTranslationsApi.md#get_page_content_translation) | **GET** /page_content_translations | Get page contents translation +*PageContentTranslationsApi* | [**get_page_content_translation_by_id**](sailpoint/nerm/docs/PageContentTranslationsApi.md#get_page_content_translation_by_id) | **GET** /page_content_translations/{id} | Find page content translation +*PageContentTranslationsApi* | [**get_page_content_translation_by_uid**](sailpoint/nerm/docs/PageContentTranslationsApi.md#get_page_content_translation_by_uid) | **GET** /page_content_translations/{uid} | Find page content translation +*PageContentTranslationsApi* | [**update_page_content_translation_by_id**](sailpoint/nerm/docs/PageContentTranslationsApi.md#update_page_content_translation_by_id) | **PATCH** /page_content_translations/{id} | Update page content translation +*PageContentTranslationsApi* | [**update_page_content_translation_by_uid**](sailpoint/nerm/docs/PageContentTranslationsApi.md#update_page_content_translation_by_uid) | **PATCH** /page_content_translations/{uid} | Update page content translation +*PageContentsApi* | [**create_page_content**](sailpoint/nerm/docs/PageContentsApi.md#create_page_content) | **POST** /page_contents | Create a page content entry +*PageContentsApi* | [**delete_page_content_by_id**](sailpoint/nerm/docs/PageContentsApi.md#delete_page_content_by_id) | **DELETE** /page_contents/{id} | Delete page content record +*PageContentsApi* | [**delete_page_content_by_uid**](sailpoint/nerm/docs/PageContentsApi.md#delete_page_content_by_uid) | **DELETE** /page_contents/{uid} | Delete page content record +*PageContentsApi* | [**get_page_content_by_id**](sailpoint/nerm/docs/PageContentsApi.md#get_page_content_by_id) | **GET** /page_contents/{id} | Find page content record +*PageContentsApi* | [**get_page_content_by_uid**](sailpoint/nerm/docs/PageContentsApi.md#get_page_content_by_uid) | **GET** /page_contents/{uid} | Find a page content record +*PageContentsApi* | [**get_page_contents**](sailpoint/nerm/docs/PageContentsApi.md#get_page_contents) | **GET** /page_contents | Get page contents data +*PageContentsApi* | [**update_page_content_by_id**](sailpoint/nerm/docs/PageContentsApi.md#update_page_content_by_id) | **PATCH** /page_contents/{id} | Update page content record +*PageContentsApi* | [**update_page_content_by_uid**](sailpoint/nerm/docs/PageContentsApi.md#update_page_content_by_uid) | **PATCH** /page_contents/{uid} | Update page content record +*PageElementsApi* | [**create_page_element**](sailpoint/nerm/docs/PageElementsApi.md#create_page_element) | **POST** /page_elements | Create a page element entry +*PageElementsApi* | [**delete_page_element_by_id**](sailpoint/nerm/docs/PageElementsApi.md#delete_page_element_by_id) | **DELETE** /page_elements/{id} | Delete page element +*PageElementsApi* | [**delete_page_element_by_uid**](sailpoint/nerm/docs/PageElementsApi.md#delete_page_element_by_uid) | **DELETE** /page_elements/{uid} | Delete page element +*PageElementsApi* | [**get_page_element_by_id**](sailpoint/nerm/docs/PageElementsApi.md#get_page_element_by_id) | **GET** /page_elements/{id} | Find a page element +*PageElementsApi* | [**get_page_element_by_uid**](sailpoint/nerm/docs/PageElementsApi.md#get_page_element_by_uid) | **GET** /page_elements/{uid} | Find page element +*PageElementsApi* | [**get_page_elements**](sailpoint/nerm/docs/PageElementsApi.md#get_page_elements) | **GET** /page_elements | Get page element data +*PageElementsApi* | [**update_page_element_by_id**](sailpoint/nerm/docs/PageElementsApi.md#update_page_element_by_id) | **PATCH** /page_elements/{id} | Update page element +*PageElementsApi* | [**update_page_element_by_uid**](sailpoint/nerm/docs/PageElementsApi.md#update_page_element_by_uid) | **PATCH** /page_elements/{uid} | Update page element +*PagesApi* | [**create_profile_page**](sailpoint/nerm/docs/PagesApi.md#create_profile_page) | **POST** /pages/profile_pages | Create a profile page +*PagesApi* | [**create_workflow_page**](sailpoint/nerm/docs/PagesApi.md#create_workflow_page) | **POST** /pages/workflow_pages | Create a workflow page +*PermissionsApi* | [**create_permission**](sailpoint/nerm/docs/PermissionsApi.md#create_permission) | **POST** /permissions | Create a permission +*ProfileTypeRolesApi* | [**create_profile_type_role**](sailpoint/nerm/docs/ProfileTypeRolesApi.md#create_profile_type_role) | **POST** /profile_type_roles | Create a profile type role +*ProfileTypesApi* | [**delete_profile_type_by_id**](sailpoint/nerm/docs/ProfileTypesApi.md#delete_profile_type_by_id) | **DELETE** /profile_types/{id} | Delete profile type +*ProfileTypesApi* | [**delete_profile_type_by_uid**](sailpoint/nerm/docs/ProfileTypesApi.md#delete_profile_type_by_uid) | **DELETE** /profile_types/{uid} | Delete profile type +*ProfileTypesApi* | [**get_profile_type_by_id**](sailpoint/nerm/docs/ProfileTypesApi.md#get_profile_type_by_id) | **GET** /profile_types/{id} | Find profile type +*ProfileTypesApi* | [**get_profile_type_by_uid**](sailpoint/nerm/docs/ProfileTypesApi.md#get_profile_type_by_uid) | **GET** /profile_types/{uid} | Find profile type +*ProfileTypesApi* | [**get_profile_types**](sailpoint/nerm/docs/ProfileTypesApi.md#get_profile_types) | **GET** /profile_types | Get profile types +*ProfileTypesApi* | [**patch_profile_type_by_id**](sailpoint/nerm/docs/ProfileTypesApi.md#patch_profile_type_by_id) | **PATCH** /profile_types/{id} | Update a profile type +*ProfileTypesApi* | [**patch_profile_type_by_uid**](sailpoint/nerm/docs/ProfileTypesApi.md#patch_profile_type_by_uid) | **PATCH** /profile_types/{uid} | Update a profile type +*ProfileTypesApi* | [**submit_profile_type**](sailpoint/nerm/docs/ProfileTypesApi.md#submit_profile_type) | **POST** /profile_type | Create a profile type +*ProfilesApi* | [**create_profiles**](sailpoint/nerm/docs/ProfilesApi.md#create_profiles) | **POST** /profiles | Create multiple profiles +*ProfilesApi* | [**delete_profile_by_id**](sailpoint/nerm/docs/ProfilesApi.md#delete_profile_by_id) | **DELETE** /profiles/{id} | Delete a single profile +*ProfilesApi* | [**delete_profiles**](sailpoint/nerm/docs/ProfilesApi.md#delete_profiles) | **DELETE** /profiles | Delete multiple profiles +*ProfilesApi* | [**get_profile_avatar**](sailpoint/nerm/docs/ProfilesApi.md#get_profile_avatar) | **GET** /profiles/{id}/avatar | Retrieves profile avatar URL +*ProfilesApi* | [**get_profile_by_id**](sailpoint/nerm/docs/ProfilesApi.md#get_profile_by_id) | **GET** /profiles/{id} | Find profile by id +*ProfilesApi* | [**get_profile_upload**](sailpoint/nerm/docs/ProfilesApi.md#get_profile_upload) | **GET** /profiles/{id}/upload/{attribute_id} | Retrieves profile attribute attachment URL +*ProfilesApi* | [**get_profiles**](sailpoint/nerm/docs/ProfilesApi.md#get_profiles) | **GET** /profiles | Get profiles +*ProfilesApi* | [**patch_profile_by_id**](sailpoint/nerm/docs/ProfilesApi.md#patch_profile_by_id) | **PATCH** /profiles/{id} | Update a profile by id +*ProfilesApi* | [**patch_profiles**](sailpoint/nerm/docs/ProfilesApi.md#patch_profiles) | **PATCH** /profiles | Update multiple profiles +*ProfilesApi* | [**submit_profile**](sailpoint/nerm/docs/ProfilesApi.md#submit_profile) | **POST** /profile | Create a profile +*ProfilesApi* | [**submit_profile_avatar**](sailpoint/nerm/docs/ProfilesApi.md#submit_profile_avatar) | **POST** /profiles/{id}/avatar | Uploads new profile avatar +*ProfilesApi* | [**submit_profile_upload**](sailpoint/nerm/docs/ProfilesApi.md#submit_profile_upload) | **POST** /profiles/{id}/upload/{attribute_id} | Uploads profile attachment attribute +*RiskLevelsApi* | [**get_risk_level**](sailpoint/nerm/docs/RiskLevelsApi.md#get_risk_level) | **GET** /risk_levels/{id} | Find risk level data +*RiskLevelsApi* | [**get_risk_levels**](sailpoint/nerm/docs/RiskLevelsApi.md#get_risk_levels) | **GET** /risk_levels | Get risk level data +*RiskScoresApi* | [**get_risk_score**](sailpoint/nerm/docs/RiskScoresApi.md#get_risk_score) | **GET** /risk_scores/{id} | Find risk score data +*RiskScoresApi* | [**get_risk_scores**](sailpoint/nerm/docs/RiskScoresApi.md#get_risk_scores) | **GET** /risk_scores | Get risk score data +*RoleProfilesApi* | [**delete_role_profile**](sailpoint/nerm/docs/RoleProfilesApi.md#delete_role_profile) | **DELETE** /role_profile/{id} | Delete a role profile assignment +*RoleProfilesApi* | [**get_role_profile**](sailpoint/nerm/docs/RoleProfilesApi.md#get_role_profile) | **GET** /role_profiles/{id} | Find role-profile contributor relationship +*RoleProfilesApi* | [**get_role_profiles**](sailpoint/nerm/docs/RoleProfilesApi.md#get_role_profiles) | **GET** /role_profiles | Get role-profile contributor relationships +*RoleProfilesApi* | [**patch_role_profile**](sailpoint/nerm/docs/RoleProfilesApi.md#patch_role_profile) | **PATCH** /role_profiles/{id} | Update a role-profile contributor relationship +*RoleProfilesApi* | [**patch_role_profiles**](sailpoint/nerm/docs/RoleProfilesApi.md#patch_role_profiles) | **PATCH** /role_profiles | Update multiple role-profile contributor relationships +*RoleProfilesApi* | [**submit_role_profile**](sailpoint/nerm/docs/RoleProfilesApi.md#submit_role_profile) | **POST** /role_profile | Create a role-profile contributor relationship +*RoleProfilesApi* | [**submit_role_profiles**](sailpoint/nerm/docs/RoleProfilesApi.md#submit_role_profiles) | **POST** /role_profiles | Create multiple role-profile contributor relationships +*RolesApi* | [**get_role**](sailpoint/nerm/docs/RolesApi.md#get_role) | **GET** /roles/{id} | Find role by id +*RolesApi* | [**get_roles**](sailpoint/nerm/docs/RolesApi.md#get_roles) | **GET** /roles | Get roles +*RolesApi* | [**patch_role**](sailpoint/nerm/docs/RolesApi.md#patch_role) | **PATCH** /roles/{id} | Update an existing role +*RolesApi* | [**patch_roles**](sailpoint/nerm/docs/RolesApi.md#patch_roles) | **PATCH** /roles | Update multiple roles +*RolesApi* | [**submit_role**](sailpoint/nerm/docs/RolesApi.md#submit_role) | **POST** /role | Create a new role +*RolesApi* | [**submit_roles**](sailpoint/nerm/docs/RolesApi.md#submit_roles) | **POST** /roles | Create multiple new roles +*SyncedAttributesApi* | [**create_synced_attribute**](sailpoint/nerm/docs/SyncedAttributesApi.md#create_synced_attribute) | **POST** /profile_types/{profile_type_id}/synced_attributes | Create a synced attribute +*SyncedAttributesApi* | [**delete_synced_attribute**](sailpoint/nerm/docs/SyncedAttributesApi.md#delete_synced_attribute) | **DELETE** /profile_types/{profile_type_id}/synced_attributes/{ne_attribute_id} | Delete synced attribute +*SyncedAttributesApi* | [**get_profile_type_attributes**](sailpoint/nerm/docs/SyncedAttributesApi.md#get_profile_type_attributes) | **GET** /profile_types/{profile_type_id}/ne_attributes | profile_types/ne_attributes synced status +*SystemRolePermissionsApi* | [**create_system_role_permission**](sailpoint/nerm/docs/SystemRolePermissionsApi.md#create_system_role_permission) | **POST** /system_role_permissions | Create a system role permission +*SystemRolesApi* | [**get_system_roles**](sailpoint/nerm/docs/SystemRolesApi.md#get_system_roles) | **GET** /system_roles | Get system roles +*UserManagersApi* | [**get_user_manager**](sailpoint/nerm/docs/UserManagersApi.md#get_user_manager) | **GET** /user_managers/{id} | Find user-manager relationship +*UserManagersApi* | [**get_user_managers**](sailpoint/nerm/docs/UserManagersApi.md#get_user_managers) | **GET** /user_managers | Get user-manager relationships +*UserManagersApi* | [**patch_user_manager**](sailpoint/nerm/docs/UserManagersApi.md#patch_user_manager) | **PATCH** /user_managers/{id} | Update a user-manager relationship +*UserManagersApi* | [**patch_user_managers**](sailpoint/nerm/docs/UserManagersApi.md#patch_user_managers) | **PATCH** /user_managers | Update multiple user-manager relationships +*UserManagersApi* | [**submit_user_manager**](sailpoint/nerm/docs/UserManagersApi.md#submit_user_manager) | **POST** /user_manager | Create a new user-manager relationship +*UserManagersApi* | [**submit_user_managers**](sailpoint/nerm/docs/UserManagersApi.md#submit_user_managers) | **POST** /user_managers | Create multiple new user-manager relationships +*UserProfilesApi* | [**create_user_profiles**](sailpoint/nerm/docs/UserProfilesApi.md#create_user_profiles) | **POST** /user_profiles | Create multiple user-profile contributor relationships +*UserProfilesApi* | [**delete_user_profile**](sailpoint/nerm/docs/UserProfilesApi.md#delete_user_profile) | **DELETE** /user_profile/{id} | Delete a user profile assignment +*UserProfilesApi* | [**delete_user_profiles**](sailpoint/nerm/docs/UserProfilesApi.md#delete_user_profiles) | **DELETE** /user_profiles | Delete multiple user-profile contributor relationships +*UserProfilesApi* | [**get_user_profile**](sailpoint/nerm/docs/UserProfilesApi.md#get_user_profile) | **GET** /user_profiles/{id} | Find user-profile contributor relationship +*UserProfilesApi* | [**get_user_profiles**](sailpoint/nerm/docs/UserProfilesApi.md#get_user_profiles) | **GET** /user_profiles | Get user-profile contributor relationships +*UserProfilesApi* | [**patch_user_profile**](sailpoint/nerm/docs/UserProfilesApi.md#patch_user_profile) | **PATCH** /user_profiles/{id} | Update a user-profile contributor relationship +*UserProfilesApi* | [**patch_user_profiles**](sailpoint/nerm/docs/UserProfilesApi.md#patch_user_profiles) | **PATCH** /user_profiles | Update multiple user-profile contributor relationships +*UserProfilesApi* | [**submit_user_profile**](sailpoint/nerm/docs/UserProfilesApi.md#submit_user_profile) | **POST** /user_profile | Create a user-profile contributor relationship +*UserRolesApi* | [**delete_user_role**](sailpoint/nerm/docs/UserRolesApi.md#delete_user_role) | **DELETE** /user_role/{id} | Delete a user role assignment +*UserRolesApi* | [**get_user_role**](sailpoint/nerm/docs/UserRolesApi.md#get_user_role) | **GET** /user_roles/{id} | Find user role pairing +*UserRolesApi* | [**get_user_roles**](sailpoint/nerm/docs/UserRolesApi.md#get_user_roles) | **GET** /user_roles | Get user role pairings +*UserRolesApi* | [**patch_user_role**](sailpoint/nerm/docs/UserRolesApi.md#patch_user_role) | **PATCH** /user_roles/{id} | Update a user role pairing +*UserRolesApi* | [**patch_user_roles**](sailpoint/nerm/docs/UserRolesApi.md#patch_user_roles) | **PATCH** /user_roles | Update multiple user role pairings +*UserRolesApi* | [**submit_user_role**](sailpoint/nerm/docs/UserRolesApi.md#submit_user_role) | **POST** /user_role | Assign new role to user +*UserRolesApi* | [**submit_user_roles**](sailpoint/nerm/docs/UserRolesApi.md#submit_user_roles) | **POST** /user_roles | Create new user role pairings +*UsersApi* | [**delete_user**](sailpoint/nerm/docs/UsersApi.md#delete_user) | **DELETE** /users/{id} | Delete a user +*UsersApi* | [**get_user**](sailpoint/nerm/docs/UsersApi.md#get_user) | **GET** /users/{id} | Find user by id +*UsersApi* | [**get_user_avatar**](sailpoint/nerm/docs/UsersApi.md#get_user_avatar) | **GET** /users/{id}/avatar | Retrieves URL user avatar +*UsersApi* | [**get_users**](sailpoint/nerm/docs/UsersApi.md#get_users) | **GET** /users | Get users +*UsersApi* | [**patch_user**](sailpoint/nerm/docs/UsersApi.md#patch_user) | **PATCH** /users/{id} | Update a user by id +*UsersApi* | [**patch_users**](sailpoint/nerm/docs/UsersApi.md#patch_users) | **PATCH** /users | Update multiple users +*UsersApi* | [**submit_user**](sailpoint/nerm/docs/UsersApi.md#submit_user) | **POST** /user | Create a new user +*UsersApi* | [**submit_user_avatar**](sailpoint/nerm/docs/UsersApi.md#submit_user_avatar) | **POST** /users/{id}/avatar | Uploads new user avatar +*UsersApi* | [**submit_users**](sailpoint/nerm/docs/UsersApi.md#submit_users) | **POST** /users | Create multiple new users +*WorkflowActionPerformerApi* | [**create_workflow_action_performer**](sailpoint/nerm/docs/WorkflowActionPerformerApi.md#create_workflow_action_performer) | **POST** /workflow_action_performers | Create a workflow action performer +*WorkflowActionsApi* | [**create_approval_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_approval_action) | **POST** /workflow_actions/approval_actions | Create an approval action +*WorkflowActionsApi* | [**create_ask_security_question_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_ask_security_question_action) | **POST** /workflow_actions/ask_security_question_actions | Create ask security question action +*WorkflowActionsApi* | [**create_auto_assign_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_auto_assign_action) | **POST** /workflow_actions/auto_assign_actions | Create an auto assign action +*WorkflowActionsApi* | [**create_batch_update_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_batch_update_action) | **POST** /workflow_actions/batch_update_actions | Create a batch update action +*WorkflowActionsApi* | [**create_close_session_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_close_session_action) | **POST** /workflow_actions/close_session_actions | Create a close session action +*WorkflowActionsApi* | [**create_contributors_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_contributors_action) | **POST** /workflow_actions/contributors_actions | Create a contributors action +*WorkflowActionsApi* | [**create_create_profile_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_create_profile_action) | **POST** /workflow_actions/create_profile_actions | Create a create profile action +*WorkflowActionsApi* | [**create_duplicate_prevention_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_duplicate_prevention_action) | **POST** /workflow_actions/duplicate_prevention_actions | Create a duplicate prevention action +*WorkflowActionsApi* | [**create_email_verification_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_email_verification_action) | **POST** /workflow_actions/email_verification_actions | Create an email verification action +*WorkflowActionsApi* | [**create_fulfillment_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_fulfillment_action) | **POST** /workflow_actions/fulfillment_actions | Create a fulfillment action +*WorkflowActionsApi* | [**create_identity_proofing_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_identity_proofing_action) | **POST** /workflow_actions/identity_proofing_actions | Create an identity proofing action +*WorkflowActionsApi* | [**create_invitation_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_invitation_action) | **POST** /workflow_actions/invitation_actions | Create an invitation action +*WorkflowActionsApi* | [**create_ldap_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_ldap_action) | **POST** /workflow_actions/ldap_actions | Create a ldap action +*WorkflowActionsApi* | [**create_notification_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_notification_action) | **POST** /workflow_actions/notification_actions | Create a notification action +*WorkflowActionsApi* | [**create_password_reset_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_password_reset_action) | **POST** /workflow_actions/password_reset_actions | Create a password reset action +*WorkflowActionsApi* | [**create_profile_check_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_profile_check_action) | **POST** /workflow_actions/profile_check_actions | Create a profile check action +*WorkflowActionsApi* | [**create_profile_select_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_profile_select_action) | **POST** /workflow_actions/profile_select_actions | Create a profile select action +*WorkflowActionsApi* | [**create_request_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_request_action) | **POST** /workflow_actions/request_actions | Create a request action +*WorkflowActionsApi* | [**create_rest_api_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_rest_api_action) | **POST** /workflow_actions/rest_api_actions | Create a REST API action +*WorkflowActionsApi* | [**create_review_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_review_action) | **POST** /workflow_actions/review_actions | Create a review action +*WorkflowActionsApi* | [**create_run_workflow_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_run_workflow_action) | **POST** /workflow_actions/run_workflow_actions | Create a run workflow action +*WorkflowActionsApi* | [**create_set_attributes_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_set_attributes_action) | **POST** /workflow_actions/set_attributes_actions | Create a set attributes action +*WorkflowActionsApi* | [**create_set_security_question_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_set_security_question_action) | **POST** /workflow_actions/set_security_question_actions | Create set security question action +*WorkflowActionsApi* | [**create_soap_api_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_soap_api_action) | **POST** /workflow_actions/soap_api_actions | Create a SOAP API action +*WorkflowActionsApi* | [**create_status_change_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_status_change_action) | **POST** /workflow_actions/status_change_actions | Create a status change action +*WorkflowActionsApi* | [**create_unassign_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_unassign_action) | **POST** /workflow_actions/unassign_actions | Create an unassign action +*WorkflowActionsApi* | [**create_update_profile_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_update_profile_action) | **POST** /workflow_actions/update_profile_actions | Create an update profile action +*WorkflowActionsApi* | [**create_username_password_action**](sailpoint/nerm/docs/WorkflowActionsApi.md#create_username_password_action) | **POST** /workflow_actions/username_password_actions | Create a username password action +*WorkflowActionsApi* | [**get_workflow_actions**](sailpoint/nerm/docs/WorkflowActionsApi.md#get_workflow_actions) | **GET** /workflow_actions | Get Workflow Actions +*WorkflowSessionsApi* | [**get_workflow_session**](sailpoint/nerm/docs/WorkflowSessionsApi.md#get_workflow_session) | **GET** /workflow_sessions/{id} | Find workflow session +*WorkflowSessionsApi* | [**get_workflow_session_upload**](sailpoint/nerm/docs/WorkflowSessionsApi.md#get_workflow_session_upload) | **GET** /workflow_sessions/{id}/upload/{attribute_id} | Retrieves workflow session attachment URL +*WorkflowSessionsApi* | [**get_workflow_sessions**](sailpoint/nerm/docs/WorkflowSessionsApi.md#get_workflow_sessions) | **GET** /workflow_sessions | Get workflow sessions +*WorkflowSessionsApi* | [**patch_workflow_session**](sailpoint/nerm/docs/WorkflowSessionsApi.md#patch_workflow_session) | **PATCH** /workflow_sessions/{id} | Update a workflow session +*WorkflowSessionsApi* | [**submit_workflow_session**](sailpoint/nerm/docs/WorkflowSessionsApi.md#submit_workflow_session) | **POST** /workflow_sessions | Create a workflow session +*WorkflowSessionsApi* | [**submit_workflow_session_upload**](sailpoint/nerm/docs/WorkflowSessionsApi.md#submit_workflow_session_upload) | **POST** /workflow_sessions/{id}/upload/{attribute_id} | Uploads workflow session attachment +*WorkflowsApi* | [**create_automated_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_automated_workflow) | **POST** /workflows/automated_workflows | Create an automated workflow +*WorkflowsApi* | [**create_batch_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_batch_workflow) | **POST** /workflows/batch_workflows | Create a batch workflow +*WorkflowsApi* | [**create_create_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_create_workflow) | **POST** /workflows/create_workflows | Create a create workflow +*WorkflowsApi* | [**create_login_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_login_workflow) | **POST** /workflows/login_workflows | Create a login workflow +*WorkflowsApi* | [**create_password_update_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_password_update_workflow) | **POST** /workflows/password_reset_workflows | Create a password reset workflow +*WorkflowsApi* | [**create_registration_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_registration_workflow) | **POST** /workflows/registration_workflows | Create a registration workflow +*WorkflowsApi* | [**create_update_workflow**](sailpoint/nerm/docs/WorkflowsApi.md#create_update_workflow) | **POST** /workflows/update_workflows | Create an update workflow + + +## Documentation For Models + + - [AdvancedSearch](sailpoint/nerm/docs/AdvancedSearch.md) + - [AdvancedSearch1](sailpoint/nerm/docs/AdvancedSearch1.md) + - [AdvancedSearch1ConditionRulesAttributesInner](sailpoint/nerm/docs/AdvancedSearch1ConditionRulesAttributesInner.md) + - [AdvancedSearchConditionRulesAttributesInner](sailpoint/nerm/docs/AdvancedSearchConditionRulesAttributesInner.md) + - [ApprovalAction](sailpoint/nerm/docs/ApprovalAction.md) + - [AskSecurityQuestionAction](sailpoint/nerm/docs/AskSecurityQuestionAction.md) + - [Attribute](sailpoint/nerm/docs/Attribute.md) + - [Attribute1](sailpoint/nerm/docs/Attribute1.md) + - [Attribute1ValidationsAttributes](sailpoint/nerm/docs/Attribute1ValidationsAttributes.md) + - [AttributeOption](sailpoint/nerm/docs/AttributeOption.md) + - [AttributeOption1](sailpoint/nerm/docs/AttributeOption1.md) + - [AttributeOptions](sailpoint/nerm/docs/AttributeOptions.md) + - [AttributeProperties](sailpoint/nerm/docs/AttributeProperties.md) + - [AuditEvent](sailpoint/nerm/docs/AuditEvent.md) + - [AuditEventCreatedAt](sailpoint/nerm/docs/AuditEventCreatedAt.md) + - [AuditEventData](sailpoint/nerm/docs/AuditEventData.md) + - [AutoAssignAction](sailpoint/nerm/docs/AutoAssignAction.md) + - [AutomatedWorkflow](sailpoint/nerm/docs/AutomatedWorkflow.md) + - [AutomatedWorkflowConditionRulesAttributesInner](sailpoint/nerm/docs/AutomatedWorkflowConditionRulesAttributesInner.md) + - [BatchUpdateAction](sailpoint/nerm/docs/BatchUpdateAction.md) + - [BatchWorkflow](sailpoint/nerm/docs/BatchWorkflow.md) + - [BatchWorkflowOptions](sailpoint/nerm/docs/BatchWorkflowOptions.md) + - [CloseSessionAction](sailpoint/nerm/docs/CloseSessionAction.md) + - [ContributorsAction](sailpoint/nerm/docs/ContributorsAction.md) + - [CreateApprovalAction200Response](sailpoint/nerm/docs/CreateApprovalAction200Response.md) + - [CreateApprovalActionRequest](sailpoint/nerm/docs/CreateApprovalActionRequest.md) + - [CreateAskSecurityQuestionActionRequest](sailpoint/nerm/docs/CreateAskSecurityQuestionActionRequest.md) + - [CreateAttribute201Response](sailpoint/nerm/docs/CreateAttribute201Response.md) + - [CreateAttributeRequest](sailpoint/nerm/docs/CreateAttributeRequest.md) + - [CreateAutoAssignActionRequest](sailpoint/nerm/docs/CreateAutoAssignActionRequest.md) + - [CreateAutomatedWorkflowRequest](sailpoint/nerm/docs/CreateAutomatedWorkflowRequest.md) + - [CreateBatchUpdateActionRequest](sailpoint/nerm/docs/CreateBatchUpdateActionRequest.md) + - [CreateBatchWorkflowRequest](sailpoint/nerm/docs/CreateBatchWorkflowRequest.md) + - [CreateCloseSessionActionRequest](sailpoint/nerm/docs/CreateCloseSessionActionRequest.md) + - [CreateContributorsActionRequest](sailpoint/nerm/docs/CreateContributorsActionRequest.md) + - [CreateCreateProfileActionRequest](sailpoint/nerm/docs/CreateCreateProfileActionRequest.md) + - [CreateCreateWorkflow200Response](sailpoint/nerm/docs/CreateCreateWorkflow200Response.md) + - [CreateCreateWorkflowRequest](sailpoint/nerm/docs/CreateCreateWorkflowRequest.md) + - [CreateDuplicatePreventionActionRequest](sailpoint/nerm/docs/CreateDuplicatePreventionActionRequest.md) + - [CreateEmailVerificationActionRequest](sailpoint/nerm/docs/CreateEmailVerificationActionRequest.md) + - [CreateFormAttributeRequest](sailpoint/nerm/docs/CreateFormAttributeRequest.md) + - [CreateFormRequest](sailpoint/nerm/docs/CreateFormRequest.md) + - [CreateFulfillmentActionRequest](sailpoint/nerm/docs/CreateFulfillmentActionRequest.md) + - [CreateIdentityProofingActionRequest](sailpoint/nerm/docs/CreateIdentityProofingActionRequest.md) + - [CreateInvitationActionRequest](sailpoint/nerm/docs/CreateInvitationActionRequest.md) + - [CreateLdapActionRequest](sailpoint/nerm/docs/CreateLdapActionRequest.md) + - [CreateLoginWorkflowRequest](sailpoint/nerm/docs/CreateLoginWorkflowRequest.md) + - [CreateNotificationActionRequest](sailpoint/nerm/docs/CreateNotificationActionRequest.md) + - [CreatePageContentRequest](sailpoint/nerm/docs/CreatePageContentRequest.md) + - [CreatePageContentTranslationRequest](sailpoint/nerm/docs/CreatePageContentTranslationRequest.md) + - [CreatePageElementRequest](sailpoint/nerm/docs/CreatePageElementRequest.md) + - [CreatePasswordResetActionRequest](sailpoint/nerm/docs/CreatePasswordResetActionRequest.md) + - [CreatePermission200Response](sailpoint/nerm/docs/CreatePermission200Response.md) + - [CreatePermissionRequest](sailpoint/nerm/docs/CreatePermissionRequest.md) + - [CreateProfileAction](sailpoint/nerm/docs/CreateProfileAction.md) + - [CreateProfileCheckActionRequest](sailpoint/nerm/docs/CreateProfileCheckActionRequest.md) + - [CreateProfilePage200Response](sailpoint/nerm/docs/CreateProfilePage200Response.md) + - [CreateProfilePageRequest](sailpoint/nerm/docs/CreateProfilePageRequest.md) + - [CreateProfileSelectActionRequest](sailpoint/nerm/docs/CreateProfileSelectActionRequest.md) + - [CreateProfileTypeRole200Response](sailpoint/nerm/docs/CreateProfileTypeRole200Response.md) + - [CreateProfileTypeRoleRequest](sailpoint/nerm/docs/CreateProfileTypeRoleRequest.md) + - [CreateProfilesRequest](sailpoint/nerm/docs/CreateProfilesRequest.md) + - [CreateRequestActionRequest](sailpoint/nerm/docs/CreateRequestActionRequest.md) + - [CreateRestApiActionRequest](sailpoint/nerm/docs/CreateRestApiActionRequest.md) + - [CreateReviewActionRequest](sailpoint/nerm/docs/CreateReviewActionRequest.md) + - [CreateRunWorkflowActionRequest](sailpoint/nerm/docs/CreateRunWorkflowActionRequest.md) + - [CreateSetAttributesActionRequest](sailpoint/nerm/docs/CreateSetAttributesActionRequest.md) + - [CreateSetSecurityQuestionActionRequest](sailpoint/nerm/docs/CreateSetSecurityQuestionActionRequest.md) + - [CreateSoapApiActionRequest](sailpoint/nerm/docs/CreateSoapApiActionRequest.md) + - [CreateStatusChangeActionRequest](sailpoint/nerm/docs/CreateStatusChangeActionRequest.md) + - [CreateSyncedAttribute201Response](sailpoint/nerm/docs/CreateSyncedAttribute201Response.md) + - [CreateSystemRolePermission200Response](sailpoint/nerm/docs/CreateSystemRolePermission200Response.md) + - [CreateSystemRolePermissionRequest](sailpoint/nerm/docs/CreateSystemRolePermissionRequest.md) + - [CreateUnassignActionRequest](sailpoint/nerm/docs/CreateUnassignActionRequest.md) + - [CreateUpdateProfileActionRequest](sailpoint/nerm/docs/CreateUpdateProfileActionRequest.md) + - [CreateUpdateWorkflowRequest](sailpoint/nerm/docs/CreateUpdateWorkflowRequest.md) + - [CreateUserProfiles200Response](sailpoint/nerm/docs/CreateUserProfiles200Response.md) + - [CreateUserProfilesRequest](sailpoint/nerm/docs/CreateUserProfilesRequest.md) + - [CreateUsernamePasswordActionRequest](sailpoint/nerm/docs/CreateUsernamePasswordActionRequest.md) + - [CreateWorkflow](sailpoint/nerm/docs/CreateWorkflow.md) + - [CreateWorkflowActionPerformer200Response](sailpoint/nerm/docs/CreateWorkflowActionPerformer200Response.md) + - [CreateWorkflowActionPerformerRequest](sailpoint/nerm/docs/CreateWorkflowActionPerformerRequest.md) + - [CreateWorkflowPageRequest](sailpoint/nerm/docs/CreateWorkflowPageRequest.md) + - [DataRecords](sailpoint/nerm/docs/DataRecords.md) + - [Delegation](sailpoint/nerm/docs/Delegation.md) + - [Delegation1](sailpoint/nerm/docs/Delegation1.md) + - [DelegationsGet200Response](sailpoint/nerm/docs/DelegationsGet200Response.md) + - [DelegationsPost201Response](sailpoint/nerm/docs/DelegationsPost201Response.md) + - [DelegationsPost404Response](sailpoint/nerm/docs/DelegationsPost404Response.md) + - [DelegationsPostRequest](sailpoint/nerm/docs/DelegationsPostRequest.md) + - [DeleteAttributeOptionById200Response](sailpoint/nerm/docs/DeleteAttributeOptionById200Response.md) + - [DeleteMasterRecord400Response](sailpoint/nerm/docs/DeleteMasterRecord400Response.md) + - [DeleteProfileTypeById200Response](sailpoint/nerm/docs/DeleteProfileTypeById200Response.md) + - [DeleteProfiles200Response](sailpoint/nerm/docs/DeleteProfiles200Response.md) + - [DuplicatePreventionAction](sailpoint/nerm/docs/DuplicatePreventionAction.md) + - [EmailVerificationAction](sailpoint/nerm/docs/EmailVerificationAction.md) + - [Form](sailpoint/nerm/docs/Form.md) + - [Form1](sailpoint/nerm/docs/Form1.md) + - [FormAttribute](sailpoint/nerm/docs/FormAttribute.md) + - [FormAttributes](sailpoint/nerm/docs/FormAttributes.md) + - [Forms](sailpoint/nerm/docs/Forms.md) + - [FulfillmentAction](sailpoint/nerm/docs/FulfillmentAction.md) + - [GetAdvancedSearch200Response](sailpoint/nerm/docs/GetAdvancedSearch200Response.md) + - [GetAttributeOptions200Response](sailpoint/nerm/docs/GetAttributeOptions200Response.md) + - [GetAttributes200Response](sailpoint/nerm/docs/GetAttributes200Response.md) + - [GetAttributes400Response](sailpoint/nerm/docs/GetAttributes400Response.md) + - [GetAttributes500Response](sailpoint/nerm/docs/GetAttributes500Response.md) + - [GetFormAttributes200Response](sailpoint/nerm/docs/GetFormAttributes200Response.md) + - [GetForms200Response](sailpoint/nerm/docs/GetForms200Response.md) + - [GetIdentityProofingResults200Response](sailpoint/nerm/docs/GetIdentityProofingResults200Response.md) + - [GetJobStatus200Response](sailpoint/nerm/docs/GetJobStatus200Response.md) + - [GetJobStatus200ResponseJobDataInner](sailpoint/nerm/docs/GetJobStatus200ResponseJobDataInner.md) + - [GetPageContentTranslation200Response](sailpoint/nerm/docs/GetPageContentTranslation200Response.md) + - [GetPageContents200Response](sailpoint/nerm/docs/GetPageContents200Response.md) + - [GetPageElements200Response](sailpoint/nerm/docs/GetPageElements200Response.md) + - [GetProfileTypeAttributes200Response](sailpoint/nerm/docs/GetProfileTypeAttributes200Response.md) + - [GetProfileTypeAttributesSortParameter](sailpoint/nerm/docs/GetProfileTypeAttributesSortParameter.md) + - [GetProfileTypes200Response](sailpoint/nerm/docs/GetProfileTypes200Response.md) + - [GetRiskLevel200Response](sailpoint/nerm/docs/GetRiskLevel200Response.md) + - [GetRiskLevels200Response](sailpoint/nerm/docs/GetRiskLevels200Response.md) + - [GetRiskScore200Response](sailpoint/nerm/docs/GetRiskScore200Response.md) + - [GetRiskScores200Response](sailpoint/nerm/docs/GetRiskScores200Response.md) + - [GetRoleProfiles200Response](sailpoint/nerm/docs/GetRoleProfiles200Response.md) + - [GetRoles200Response](sailpoint/nerm/docs/GetRoles200Response.md) + - [GetSchemaMappedProfilesCollection200Response](sailpoint/nerm/docs/GetSchemaMappedProfilesCollection200Response.md) + - [GetSingleSchemaMappedProfile200Response](sailpoint/nerm/docs/GetSingleSchemaMappedProfile200Response.md) + - [GetSystemRoles200Response](sailpoint/nerm/docs/GetSystemRoles200Response.md) + - [GetUserManagers200Response](sailpoint/nerm/docs/GetUserManagers200Response.md) + - [GetUserProfiles200Response](sailpoint/nerm/docs/GetUserProfiles200Response.md) + - [GetUserRoles200Response](sailpoint/nerm/docs/GetUserRoles200Response.md) + - [GetUsers200Response](sailpoint/nerm/docs/GetUsers200Response.md) + - [GetWorkflowActions200Response](sailpoint/nerm/docs/GetWorkflowActions200Response.md) + - [GetWorkflowSessions200Response](sailpoint/nerm/docs/GetWorkflowSessions200Response.md) + - [IdentityProofingAction](sailpoint/nerm/docs/IdentityProofingAction.md) + - [IdentityProofingResult](sailpoint/nerm/docs/IdentityProofingResult.md) + - [InvalidJson](sailpoint/nerm/docs/InvalidJson.md) + - [InvitationAction](sailpoint/nerm/docs/InvitationAction.md) + - [InvitationActionConfigurationAttributes](sailpoint/nerm/docs/InvitationActionConfigurationAttributes.md) + - [InvitationActionWorkflowActionEmailAttributes](sailpoint/nerm/docs/InvitationActionWorkflowActionEmailAttributes.md) + - [Job](sailpoint/nerm/docs/Job.md) + - [JobJobStatus](sailpoint/nerm/docs/JobJobStatus.md) + - [Language](sailpoint/nerm/docs/Language.md) + - [LdapAction](sailpoint/nerm/docs/LdapAction.md) + - [LdapActionLdapActionUserRolesAttributes](sailpoint/nerm/docs/LdapActionLdapActionUserRolesAttributes.md) + - [LdapActionWorkflowActionDirectoryGroupsAttributes](sailpoint/nerm/docs/LdapActionWorkflowActionDirectoryGroupsAttributes.md) + - [LdapActionWorkflowActionValueBuildersAttributes](sailpoint/nerm/docs/LdapActionWorkflowActionValueBuildersAttributes.md) + - [LoginWorkflow](sailpoint/nerm/docs/LoginWorkflow.md) + - [LoginWorkflowOptions](sailpoint/nerm/docs/LoginWorkflowOptions.md) + - [Metadata](sailpoint/nerm/docs/Metadata.md) + - [MetadataWithAfterId](sailpoint/nerm/docs/MetadataWithAfterId.md) + - [NotificationAction](sailpoint/nerm/docs/NotificationAction.md) + - [NotificationActionWorkflowActionEmailAttributes](sailpoint/nerm/docs/NotificationActionWorkflowActionEmailAttributes.md) + - [PageContent](sailpoint/nerm/docs/PageContent.md) + - [PageContent1](sailpoint/nerm/docs/PageContent1.md) + - [PageContentTranslation](sailpoint/nerm/docs/PageContentTranslation.md) + - [PageContentTranslation1](sailpoint/nerm/docs/PageContentTranslation1.md) + - [PageElement](sailpoint/nerm/docs/PageElement.md) + - [PageElement1](sailpoint/nerm/docs/PageElement1.md) + - [Pages](sailpoint/nerm/docs/Pages.md) + - [PasswordResetAction](sailpoint/nerm/docs/PasswordResetAction.md) + - [PatchLanguageRequest](sailpoint/nerm/docs/PatchLanguageRequest.md) + - [Permission](sailpoint/nerm/docs/Permission.md) + - [Permission1](sailpoint/nerm/docs/Permission1.md) + - [Profile](sailpoint/nerm/docs/Profile.md) + - [Profile1](sailpoint/nerm/docs/Profile1.md) + - [ProfileAttributeRuleDate](sailpoint/nerm/docs/ProfileAttributeRuleDate.md) + - [ProfileAttributeRuleDate1](sailpoint/nerm/docs/ProfileAttributeRuleDate1.md) + - [ProfileAttributeRuleId](sailpoint/nerm/docs/ProfileAttributeRuleId.md) + - [ProfileAttributeRuleId1](sailpoint/nerm/docs/ProfileAttributeRuleId1.md) + - [ProfileAttributeRuleString](sailpoint/nerm/docs/ProfileAttributeRuleString.md) + - [ProfileAttributeRuleString1](sailpoint/nerm/docs/ProfileAttributeRuleString1.md) + - [ProfileCheckAction](sailpoint/nerm/docs/ProfileCheckAction.md) + - [ProfilePage](sailpoint/nerm/docs/ProfilePage.md) + - [ProfileSelectAction](sailpoint/nerm/docs/ProfileSelectAction.md) + - [ProfileStatusRule](sailpoint/nerm/docs/ProfileStatusRule.md) + - [ProfileStatusRule1](sailpoint/nerm/docs/ProfileStatusRule1.md) + - [ProfileType](sailpoint/nerm/docs/ProfileType.md) + - [ProfileType1](sailpoint/nerm/docs/ProfileType1.md) + - [ProfileType1ProfileTypeDupAttributesAttributesInner](sailpoint/nerm/docs/ProfileType1ProfileTypeDupAttributesAttributesInner.md) + - [ProfileType1ProfileTypeNamingsAttributesInner](sailpoint/nerm/docs/ProfileType1ProfileTypeNamingsAttributesInner.md) + - [ProfileTypeAttribute](sailpoint/nerm/docs/ProfileTypeAttribute.md) + - [ProfileTypeAttributes](sailpoint/nerm/docs/ProfileTypeAttributes.md) + - [ProfileTypeProfileTypeDupAttributesInner](sailpoint/nerm/docs/ProfileTypeProfileTypeDupAttributesInner.md) + - [ProfileTypeProfileTypeNamingsInner](sailpoint/nerm/docs/ProfileTypeProfileTypeNamingsInner.md) + - [ProfileTypeRoles](sailpoint/nerm/docs/ProfileTypeRoles.md) + - [ProfileTypeRoles1](sailpoint/nerm/docs/ProfileTypeRoles1.md) + - [ProfileTypeRule](sailpoint/nerm/docs/ProfileTypeRule.md) + - [ProfileTypeRule1](sailpoint/nerm/docs/ProfileTypeRule1.md) + - [Profiles](sailpoint/nerm/docs/Profiles.md) + - [RequestAction](sailpoint/nerm/docs/RequestAction.md) + - [RestApiAction](sailpoint/nerm/docs/RestApiAction.md) + - [ReviewAction](sailpoint/nerm/docs/ReviewAction.md) + - [RiskLevel](sailpoint/nerm/docs/RiskLevel.md) + - [RiskRule](sailpoint/nerm/docs/RiskRule.md) + - [RiskRule1](sailpoint/nerm/docs/RiskRule1.md) + - [RiskScore](sailpoint/nerm/docs/RiskScore.md) + - [Role](sailpoint/nerm/docs/Role.md) + - [Role1](sailpoint/nerm/docs/Role1.md) + - [RoleProfile](sailpoint/nerm/docs/RoleProfile.md) + - [RoleProfile1](sailpoint/nerm/docs/RoleProfile1.md) + - [RoleProfiles](sailpoint/nerm/docs/RoleProfiles.md) + - [Roles](sailpoint/nerm/docs/Roles.md) + - [RunWorkflowAction](sailpoint/nerm/docs/RunWorkflowAction.md) + - [RunWorkflowActionConfigurationAttributes](sailpoint/nerm/docs/RunWorkflowActionConfigurationAttributes.md) + - [Search200Response](sailpoint/nerm/docs/Search200Response.md) + - [SearchAdvancedSearch200Response](sailpoint/nerm/docs/SearchAdvancedSearch200Response.md) + - [SearchRequest](sailpoint/nerm/docs/SearchRequest.md) + - [SearchRequestAuditEvents](sailpoint/nerm/docs/SearchRequestAuditEvents.md) + - [SetAttributesAction](sailpoint/nerm/docs/SetAttributesAction.md) + - [SetSecurityQuestionAction](sailpoint/nerm/docs/SetSecurityQuestionAction.md) + - [SoapApiAction](sailpoint/nerm/docs/SoapApiAction.md) + - [StatusChangeAction](sailpoint/nerm/docs/StatusChangeAction.md) + - [SubmitAdvancedSearch200Response](sailpoint/nerm/docs/SubmitAdvancedSearch200Response.md) + - [SubmitAdvancedSearchRequest](sailpoint/nerm/docs/SubmitAdvancedSearchRequest.md) + - [SubmitAttributeOption200Response](sailpoint/nerm/docs/SubmitAttributeOption200Response.md) + - [SubmitAttributeOptionRequest](sailpoint/nerm/docs/SubmitAttributeOptionRequest.md) + - [SubmitAttributeOptions200Response](sailpoint/nerm/docs/SubmitAttributeOptions200Response.md) + - [SubmitAttributeOptionsRequest](sailpoint/nerm/docs/SubmitAttributeOptionsRequest.md) + - [SubmitProfileRequest](sailpoint/nerm/docs/SubmitProfileRequest.md) + - [SubmitProfileType200Response](sailpoint/nerm/docs/SubmitProfileType200Response.md) + - [SubmitProfileTypeRequest](sailpoint/nerm/docs/SubmitProfileTypeRequest.md) + - [SubmitProfileUploadRequest](sailpoint/nerm/docs/SubmitProfileUploadRequest.md) + - [SubmitRole200Response](sailpoint/nerm/docs/SubmitRole200Response.md) + - [SubmitRoleProfile200Response](sailpoint/nerm/docs/SubmitRoleProfile200Response.md) + - [SubmitRoleProfileRequest](sailpoint/nerm/docs/SubmitRoleProfileRequest.md) + - [SubmitRoleProfiles200Response](sailpoint/nerm/docs/SubmitRoleProfiles200Response.md) + - [SubmitRoleProfilesRequest](sailpoint/nerm/docs/SubmitRoleProfilesRequest.md) + - [SubmitRoleRequest](sailpoint/nerm/docs/SubmitRoleRequest.md) + - [SubmitRoles200Response](sailpoint/nerm/docs/SubmitRoles200Response.md) + - [SubmitRolesRequest](sailpoint/nerm/docs/SubmitRolesRequest.md) + - [SubmitUser200Response](sailpoint/nerm/docs/SubmitUser200Response.md) + - [SubmitUserManager200Response](sailpoint/nerm/docs/SubmitUserManager200Response.md) + - [SubmitUserManagerRequest](sailpoint/nerm/docs/SubmitUserManagerRequest.md) + - [SubmitUserManagers200Response](sailpoint/nerm/docs/SubmitUserManagers200Response.md) + - [SubmitUserManagersRequest](sailpoint/nerm/docs/SubmitUserManagersRequest.md) + - [SubmitUserProfile200Response](sailpoint/nerm/docs/SubmitUserProfile200Response.md) + - [SubmitUserProfileRequest](sailpoint/nerm/docs/SubmitUserProfileRequest.md) + - [SubmitUserRequest](sailpoint/nerm/docs/SubmitUserRequest.md) + - [SubmitUserRole200Response](sailpoint/nerm/docs/SubmitUserRole200Response.md) + - [SubmitUserRoleRequest](sailpoint/nerm/docs/SubmitUserRoleRequest.md) + - [SubmitUserRoles200Response](sailpoint/nerm/docs/SubmitUserRoles200Response.md) + - [SubmitUserRolesRequest](sailpoint/nerm/docs/SubmitUserRolesRequest.md) + - [SubmitUsers200Response](sailpoint/nerm/docs/SubmitUsers200Response.md) + - [SubmitUsersRequest](sailpoint/nerm/docs/SubmitUsersRequest.md) + - [SubmitWorkflowSession200Response](sailpoint/nerm/docs/SubmitWorkflowSession200Response.md) + - [SubmitWorkflowSessionRequest](sailpoint/nerm/docs/SubmitWorkflowSessionRequest.md) + - [SyncedAttribute](sailpoint/nerm/docs/SyncedAttribute.md) + - [SyncedAttribute1](sailpoint/nerm/docs/SyncedAttribute1.md) + - [SystemRole](sailpoint/nerm/docs/SystemRole.md) + - [SystemRolePermission](sailpoint/nerm/docs/SystemRolePermission.md) + - [SystemRolePermission1](sailpoint/nerm/docs/SystemRolePermission1.md) + - [UnassignAction](sailpoint/nerm/docs/UnassignAction.md) + - [UpdateFormByIdRequest](sailpoint/nerm/docs/UpdateFormByIdRequest.md) + - [UpdatePageContentTranslationByIdRequest](sailpoint/nerm/docs/UpdatePageContentTranslationByIdRequest.md) + - [UpdateProfileAction](sailpoint/nerm/docs/UpdateProfileAction.md) + - [UpdateProfileRequest](sailpoint/nerm/docs/UpdateProfileRequest.md) + - [UpdateProfileRequestProfile](sailpoint/nerm/docs/UpdateProfileRequestProfile.md) + - [UpdateWorkflow](sailpoint/nerm/docs/UpdateWorkflow.md) + - [Url](sailpoint/nerm/docs/Url.md) + - [User](sailpoint/nerm/docs/User.md) + - [User1](sailpoint/nerm/docs/User1.md) + - [UserManager](sailpoint/nerm/docs/UserManager.md) + - [UserManager1](sailpoint/nerm/docs/UserManager1.md) + - [UserManagers](sailpoint/nerm/docs/UserManagers.md) + - [UserProfile](sailpoint/nerm/docs/UserProfile.md) + - [UserProfile1](sailpoint/nerm/docs/UserProfile1.md) + - [UserProfiles](sailpoint/nerm/docs/UserProfiles.md) + - [UserRole](sailpoint/nerm/docs/UserRole.md) + - [UserRole1](sailpoint/nerm/docs/UserRole1.md) + - [UserRoles](sailpoint/nerm/docs/UserRoles.md) + - [UsernamePasswordAction](sailpoint/nerm/docs/UsernamePasswordAction.md) + - [Users](sailpoint/nerm/docs/Users.md) + - [ValidationErrors](sailpoint/nerm/docs/ValidationErrors.md) + - [WorkflowAction](sailpoint/nerm/docs/WorkflowAction.md) + - [WorkflowActionPerformers](sailpoint/nerm/docs/WorkflowActionPerformers.md) + - [WorkflowActionPerformers1](sailpoint/nerm/docs/WorkflowActionPerformers1.md) + - [WorkflowPage](sailpoint/nerm/docs/WorkflowPage.md) + - [WorkflowSession](sailpoint/nerm/docs/WorkflowSession.md) + - [WorkflowSession1](sailpoint/nerm/docs/WorkflowSession1.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### userAuth + +- **Type**: OAuth +- **Flow**: application +- **Authorization URL**: +- **Scopes**: + - **sp:scopes:default**: default scope + - **sp:scopes:all**: access to all scopes + + +### userAuth + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: https://example-tenant.login.sailpoint.com/oauth/authorize +- **Scopes**: + - **sp:scopes:default**: default scope + - **sp:scopes:all**: access to all scopes + + +## Author + + + + diff --git a/sailpoint/v2024/docs/Models/AccountUsage.md b/sailpoint/v2024/docs/Models/AccountUsage.md index 5353898b1..442faa748 100644 --- a/sailpoint/v2024/docs/Models/AccountUsage.md +++ b/sailpoint/v2024/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2024.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index db5a37930..a37f38fea 100644 --- a/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2024/docs/Models/SourceUsage.md b/sailpoint/v2024/docs/Models/SourceUsage.md index c57393c0d..ea8523f54 100644 --- a/sailpoint/v2024/docs/Models/SourceUsage.md +++ b/sailpoint/v2024/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2024.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v2024/test/test_account_usage.py b/sailpoint/v2024/test/test_account_usage.py index 36baa784d..3896c566f 100644 --- a/sailpoint/v2024/test/test_account_usage.py +++ b/sailpoint/v2024/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py b/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py index d577f1e79..afdcd793f 100644 --- a/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2024/test/test_source_usage.py b/sailpoint/v2024/test/test_source_usage.py index 017e3fef6..0749dfc52 100644 --- a/sailpoint/v2024/test/test_source_usage.py +++ b/sailpoint/v2024/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v2025/docs/Models/AccountUsage.md b/sailpoint/v2025/docs/Models/AccountUsage.md index 626e62e2b..8403e7986 100644 --- a/sailpoint/v2025/docs/Models/AccountUsage.md +++ b/sailpoint/v2025/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2025.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 33437e264..960d4b101 100644 --- a/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2025/docs/Models/SourceUsage.md b/sailpoint/v2025/docs/Models/SourceUsage.md index 3091b3a26..3f731dad1 100644 --- a/sailpoint/v2025/docs/Models/SourceUsage.md +++ b/sailpoint/v2025/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2025.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v2025/test/test_account_usage.py b/sailpoint/v2025/test/test_account_usage.py index f04d31329..32bedc6bd 100644 --- a/sailpoint/v2025/test/test_account_usage.py +++ b/sailpoint/v2025/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py b/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py index 2b4ada2a2..ece9f9261 100644 --- a/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2025/test/test_source_usage.py b/sailpoint/v2025/test/test_source_usage.py index f6fceb431..7a6b87998 100644 --- a/sailpoint/v2025/test/test_source_usage.py +++ b/sailpoint/v2025/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v2026/docs/Models/AccountUsage.md b/sailpoint/v2026/docs/Models/AccountUsage.md index b484c030f..5354178b7 100644 --- a/sailpoint/v2026/docs/Models/AccountUsage.md +++ b/sailpoint/v2026/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2026.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v2026/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v2026/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index ee8ad930f..d9911f08f 100644 --- a/sailpoint/v2026/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v2026/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2026/docs/Models/SourceUsage.md b/sailpoint/v2026/docs/Models/SourceUsage.md index dfecd1896..490c59fa1 100644 --- a/sailpoint/v2026/docs/Models/SourceUsage.md +++ b/sailpoint/v2026/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2026.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v2026/test/test_account_usage.py b/sailpoint/v2026/test/test_account_usage.py index 556d7b848..74f0e47d8 100644 --- a/sailpoint/v2026/test/test_account_usage.py +++ b/sailpoint/v2026/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v2026/test/test_non_employee_request_without_approval_item.py b/sailpoint/v2026/test/test_non_employee_request_without_approval_item.py index 25ba4c10f..5824bb36e 100644 --- a/sailpoint/v2026/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v2026/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2026/test/test_source_usage.py b/sailpoint/v2026/test/test_source_usage.py index 9f16ec8e1..3734dce36 100644 --- a/sailpoint/v2026/test/test_source_usage.py +++ b/sailpoint/v2026/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v3/docs/Models/AccountUsage.md b/sailpoint/v3/docs/Models/AccountUsage.md index 211d1a3d1..a1615a57b 100644 --- a/sailpoint/v3/docs/Models/AccountUsage.md +++ b/sailpoint/v3/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v3.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 049a9aafe..a80904ad9 100644 --- a/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v3/docs/Models/SourceUsage.md b/sailpoint/v3/docs/Models/SourceUsage.md index 4d3443864..159a7ebe0 100644 --- a/sailpoint/v3/docs/Models/SourceUsage.md +++ b/sailpoint/v3/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v3.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v3/test/test_account_usage.py b/sailpoint/v3/test/test_account_usage.py index cd8ce5991..f7f07a27f 100644 --- a/sailpoint/v3/test/test_account_usage.py +++ b/sailpoint/v3/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v3/test/test_non_employee_request_without_approval_item.py b/sailpoint/v3/test/test_non_employee_request_without_approval_item.py index 7fe7afc14..3b69ed401 100644 --- a/sailpoint/v3/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v3/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v3/test/test_source_usage.py b/sailpoint/v3/test/test_source_usage.py index e1dcaa569..ecf5f3112 100644 --- a/sailpoint/v3/test/test_source_usage.py +++ b/sailpoint/v3/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/scripts/build_and_validate_sdk.py b/scripts/build_and_validate_sdk.py index 2dbe91237..4d72ddafd 100644 --- a/scripts/build_and_validate_sdk.py +++ b/scripts/build_and_validate_sdk.py @@ -44,12 +44,12 @@ def main(): idn_path = os.path.join(api_specs_path, "idn") subprocess.run(["node", "sdk-resources/prescript.js", idn_path], check=True, cwd=root) - def build_sdk(name, spec, config, out_dir): + def build_sdk(name, spec, config, out_dir, spec_subdir="idn"): print(f"Building {name} SDK...") sailpoint_dir = os.path.join(root, "sailpoint", out_dir) if os.path.isdir(sailpoint_dir): shutil.rmtree(sailpoint_dir) - spec_path = os.path.join(api_specs_path, "idn", spec) + spec_path = os.path.join(api_specs_path, spec_subdir, spec) subprocess.run( [ "java", "-jar", jar_path, "generate", @@ -72,6 +72,8 @@ def build_sdk(name, spec, config, out_dir): build_sdk("V2024", "sailpoint-api.v2024.yaml", "v2024-config.yaml", "v2024") build_sdk("V2025", "sailpoint-api.v2025.yaml", "v2025-config.yaml", "v2025") build_sdk("V2026", "sailpoint-api.v2026.yaml", "v2026-config.yaml", "v2026") + build_sdk("NERM", "openapi.yaml", "nerm-config.yaml", "nerm", spec_subdir="nerm") + build_sdk("NERM V2025", os.path.join("v2025", "v2025.yaml"), "v2025-nerm-config.yaml", os.path.join("nerm", "v2025"), spec_subdir="nerm") # Install and test (use current Python / venv) pip_cmd = [sys.executable, "-m", "pip"] diff --git a/sdk-resources/nerm-config.yaml b/sdk-resources/nerm-config.yaml new file mode 100644 index 000000000..3c7c498c9 --- /dev/null +++ b/sdk-resources/nerm-config.yaml @@ -0,0 +1,18 @@ +templateDir: ./sdk-resources/resources +packageName: sailpoint.nerm +packageVersion: 1.4.1 +apiVersion: +generateSourceCodeOnly: true +functionPrefix: +subModuleName: +nerm: true +files: + developerSite_code_examples.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml + docs_methods_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/docs/Methods/Index.md + docs_models_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/Index.md \ No newline at end of file diff --git a/sdk-resources/resources/api_client.mustache b/sdk-resources/resources/api_client.mustache index 24e8adbbf..6faec7e47 100644 --- a/sdk-resources/resources/api_client.mustache +++ b/sdk-resources/resources/api_client.mustache @@ -210,7 +210,12 @@ class ApiClient: self.parameters_to_tuples(header_params,collection_formats) ) # Add Authentication header to request + {{#nerm}} + header_params['Authorization'] = "Bearer " + self.configuration.access_token + {{/nerm}} + {{^nerm}} header_params['Authorization'] = self.configuration.access_token + {{/nerm}} if not self.configuration.experimental and 'X-SailPoint-Experimental' in header_params: raise Exception(f"{bcolors.WARNING}You are using Experimental APIs. Set configuration.experimental = True to enable these APIs in the SDK.{bcolors.ENDC}") @@ -260,7 +265,12 @@ class ApiClient: # request url if _host is None: + {{#nerm}} + url = self.configuration.nerm_base_url + '/{{apiVersion}}' + resource_path + {{/nerm}} + {{^nerm}} url = self.configuration.base_url + '/{{apiVersion}}' + resource_path + {{/nerm}} else: # use server/host defined in path or operation instead url = _host + resource_path diff --git a/sdk-resources/v2025-nerm-config.yaml b/sdk-resources/v2025-nerm-config.yaml new file mode 100644 index 000000000..34e035c39 --- /dev/null +++ b/sdk-resources/v2025-nerm-config.yaml @@ -0,0 +1,18 @@ +templateDir: ./sdk-resources/resources +packageName: sailpoint.nerm.v2025 +packageVersion: 1.4.1 +apiVersion: v2025 +generateSourceCodeOnly: true +functionPrefix: +subModuleName: +nerm: true +files: + developerSite_code_examples.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/docs/Examples/python_code_examples_overlay.yaml + docs_methods_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/docs/Methods/Index.md + docs_models_index.mustache: + templateType: SupportingFiles + destinationFilename: sailpoint/nerm/Index.md \ No newline at end of file